Development
If you have ideas for new TurnKey appliances you would like to see implemented in the near future, we would love for you to piggyback on our efforts and help nudge TurnKey Linux in the direction you are interested in!
There are many ways to contribute TurnKey Linux development.
Customize an existing appliance or develop a new one
Option #1: Use TKLPatch - a simple appliance customization mechanism
See TKLPatch documentation for details.
Example tweaks include updating a configuration file, adding data files, adding a package and even creating a brand new appliance leveraging a generic appliance such as Core, LAMP, Rails, etc.
Publishing your tweaks will allow us to incorporate them into the next version for everyone to enjoy.
If you develop a new appliance, and it's good (and open source) there is a good chance we will use it to build a new TurnKey Linux virtual appliance on top of the latest version of TurnKey Core. Once we add an appliance to the project we assume the burden of maintaining it at the appliance level with regular updates. This frees you to focus on more interesting tasks (e.g., improving quality of integration, software sub-components).
Option #2: develop prototype virtual appliance
If on the other hand, you cannot develop a patch, we encourage you to develop a virtual appliance prototype while taking notes. Once you have a working prototype that you would like to share with the community, we recommend you:
- Save your notes to the development wiki
- Host your appliance on a free file hosting service
- Let us know (e.g., post to the forum or send us an email)
Custom packages and source code
Any custom package that isn't taken straight from Ubuntu's repositories can be found at our mini-repository at archive.turnkeylinux.org.
The source code to all custom components can be found at code.turnkeylinux.org. Some components are also hosted on github.
Blueprints and development wiki
We use Launchpad blueprints to plan and track development of new features. If you have a good idea for a new feature or appliance that isn't already in the works, feel free to create a new blueprint!
We use a public development wiki as our shared whiteboard for discussing TurnKey Linux development.
Bug reporting and triaging
If you find a bug, report it. Better yet fix it and share your results. It is also helpful if technically skilled contributers reproduce unconfirmed bugs and work on isolating them. If you have the skills and share our enthusiasm, lend us a hand!
See also