TurnKey Linux Virtual Appliance Library

Development

What's the mission and why should I contribute?

From the About page:

TurnKey GNU/Linux is inspired by a belief in the democratizing power of free software (free as in speech, not beer), like science, to promote the progress of a free & humane society. Without the freedom to freely distribute, tinker and learn from free software the Internet as we know it would not exist.

The Internet, together with the free software that powers it, is one of the greatest victories for human freedom in history.

Unfortunately, this freedom is now under intense attack. Powerful forces are continually plotting new ways of luring us into closed, centralized systems under their arbitrary control, tempting us to give up our essential liberties in exchange for a bit of temporary convenience and a false sense of security.

We want to work and play in a free Internet, under our terms, our rights and liberties intact. They want us depending on a nebulous "cloud" forever beyond our control, under their thumb, playing by their rules, trapped in a virtual panopticon that allows shadowy government agencies to spy and archive our digital thoughts in mass warrantless surveillance programs, turning the Internet from a tool of freedom into a weapon.

As renowned security expert Bruce Schneier puts it:

We need to take back the internet, and by we, I mean the engineering community.

A rare minority of would-be heros have the right combination of skills, means and motivation to fight back. Imagine if we could bottle up their IT superpowers and mass produce it into secure, convenient solutions mere mortals could use. Even experts would benefit. Discovering, configuring and testing combinations of free software components can be notoriously challenging, time consuming and inefficient, especially if everyone keeps reinventing the wheel by rolling their own solutions.

That's where you come in and we help you help the mission. It's big, hairy and scary and we need all the help we can get. We've only scratched the surface. You can make a difference. This tools we've developed provide a lot of leverage and this is still at a stage where one person can make a big impact.

See also:

GitHub Issue tracker and Development Wiki

We use GitHub's project management features for:

  1. Issue tracking: helps us keep track of new appsbugs, and feature requests.
  2. Development wiki: we use this as a distributed whiteboard (e.g., ideas for new apps)

To get the best results, read the TurnKey Tracker homepage on GitHub for contribution guidelines.

Development toolchain

Tools:

  1. TKLDev (recommended): self-contained appliance build factory that can rapidly prototype new Linux distributions or repeatably build existing integrations from source:
  2. TKLPatch: an older tool that provides a simple customization mechanism which can be used for quick amd dirty customizations of existing appliances.

You're free to develop TurnKey apps for private use, but we encourage everyone to share their results with the community. That way people find out about your work, you get the credit for being awesome and we improve the library. Everybody wins.

It's alive! Share your creation with the world

The best way to submit a new app for review and inclusion in the TurnKey library:

  1. Create a new issue in the tracker with the #new-appliance label
  2. Start a new thread on the general forum announcing your creation.

Custom packages and source code

The source code to all custom components can be found at github.com/turnkeylinux

The source code to all appliances can be found at github.com/turnkeylinux-apps.

Any package that isn't installed straight from the Debian repositories can be found at our mini-repository at archive.turnkeylinux.org.