Open development occurs when all decisions are publicly documented, all resources are open source and all bona fides participants have equal rights.
Development in the open is inclusive and empowering. Experience shows that the collective memory of a community – both short-term and long-term – must be available to all if development is to be accessible to all who wish to participate. It’s thus essential to apply consensus rules such as those used by the Apache Software Foundation, where all code commits are documented, small enough to be reviewable, logged to a mailing list and subject to challenge.
Apache asserts that “if it didn’t happen on the mailing list, it didn’t happen,” a rule to ensure that all in-person interactions are fully documented for all participants. Even when a project comprises a few co-located people, it is vital to follow this rule otherwise new participants will have lesser rights in practice whatever their rights in principle.
Open collaborative tools, open licensing, self-governance, non-discriminatory respect, release-train schedules and shared assets are the keys to open development.
Open development is now a well-understood practice among open source communities. We expect TravelSpirit to operate using the following default practices:
Open collaborative tools: We will use open source tools to support community interaction and software development, rather than proprietary tools. We will also seek to ensure that it is possible to migrate between hosting arrangements and also to migrate to alternative solutions.
- Open licensing: All code we work with will be licensed under an OSI-approved copyright license compatible with the Mozilla Public License version 2. All non-code assets will be licensed under the equivalent Creative Commons license, CC-BY-SA-4.0-Intl.
- Self-governance: Decisions will be made by current, actual contributors, possibly with reference to a larger body of former contributors where decisions are not readily reversible by future participants.
- Non-discriminatory respect: We will require all participants to abide by policies requiring respectful interaction that is not affected by externalities of the individuals or companies involved.
- Release-train scheduling: We will release software according to a pre-determined schedule (a “release train”) to ensure that all participants have their improvements included in a timely manner, that security fixes are circulated promptly and that no party is able to prevent releases based on their own preferences alone.
- Shared assets: We will cause all common assets – funds, trademarks, collective copyrights, employees, events – to be in the stewardship of an independent entity beyond the control of any one participant.
- Open Trust: Collaborative projects will have shared assets that need managing. An independent legal entity is the best vehicle for this, and we believe a fiduciary and administrative umbrella is a wise first home. Read more on how this will work.