Iris and Cartopy are free and open source projects, published under the LGPLv3 licence. Both libraries work extensively with third party free and open source libraries.
One of the primary objectives of this approach is to aid collaboration and collaborative development.
The SciTools projects provide capabilities for developers to make use of. Projects are encouraged to use the capabilities of SciTools and build libraries and functionality on top of these capabilities.
Projects depending on SciTools Libraries are encouraged to engage with the development process, through the Community Forums and the GitHub code development sites. It is hoped that this will lead to developers contributing code to SciTools Libraries.
For any potential collaborative development activity it is important that the code base is available to collaborators and licensed to enable collaboration. Publishing code as it is being developed is an excellent way to work with development communities working in similar spaces.
It will benefit SciTools development and the development of libraries dependent on SciTools if the code is published and available for developers to investigate and provide feedback on.
Publishing on a site such as GitHub, the SciTools Contributors approach and LGPLv3 license present one way of managing this. It is the responsibility of a publisher to manage these matters as they see fit, considering license conditions, access rights and the implications for their project.
Such public projects, dependent on SciTools modules, are likely to provide a rich seam of ideas and approaches, leading to developments in SciTools modules which can be adopted and shared across the SciTools community.
Small scale contributions fit well with this model, such as bug fixes and new feature implementations to current modules. Larger scale development activities may require different approaches, as it may take significant design and implementation effort before it is clear how integration may occur.
It may prove useful to publish such code independently of SciTools and then investigate integration over time.
Providing publicly available code which can be developed collaboratively will enable more detailed and focussed discussions of the relevant issues facilitating code adoption.