This is a one page summary of the ways that you or your organization can contribute to Twisted.
This is a draft document which is intended to eventually replace wiki:ContributingToTwistedLabs.
There are many ways individuals and organizations can make contributions to Twisted.
Many open source projects are perpetually crunched for volunteer labor. Twisted is no different in this respect — we could always use more help from the community. However, we are lucky to have something that most projects don't; the ability to convert dollars directly into maintenance that benefits the project.
When you contribute money to the Twisted project, you are directly contributing to get bugs fixed, features implemented, and tickets reviewed. Donations are [wiki:TwistedSoftwareFoundation#Background tax-deductible] and can be made via "Google Checkout or Paypal" or directly to the [wiki:TwistedSoftwareFoundation].
1. '''Search for an existing ticket''': Search the bugtracker for any existing tickets that are similar to the ones you are planning to file. There are three ways to search for existing tickets: * [https://www.google.co.uk/search?q=site:twistedmatrix.com/trac/ticket Search for tickets using Google] This is usually the simplest way to search, but the results may not include the newest tickets and will also include closed tickets. * [query:?status=!closed&order=id&desc=0&description=&summary=&component= Use the Trac ticket reporting tool] You can use this tool to narrow your search to open tickets and tickets within a particular Twisted component eg web, names, etc. * [/search?q=&noquickjump=1&ticket=on Use the Trac freetext search tool]. This tool also allows you to search for related commit messages and wiki pages but it the results will not be as relevant as Google and it also returns references to closed tickets.
2. '''Introduce yourself''': If you didn't find an existing ticket, introduce yourself on the [wiki:TwistedCommunity#MailLists mailing lists] or in [wiki:TwistedCommunity#Real-TimeChat IRC] and discuss your proposed bug or enhancement with the Twisted Developers. They may be able to point you to an existing ticket or help you structure your proposed enhancement so that it can be quickly and efficiently integrated into Twisted.
See the [wiki:TwistedCommunity#TwistedCommunity Twisted Community] page for the various ways to contact Twisted Developers.
3. '''Register''': Before you can create a new ticket you will have to create an account in the Twisted Trac system. Visit the [/register registration page] and choose a username and password.
'''Choose a unique password. Do not use the same password that you use for accessing other websites.'''
4. '''Create a ticket''': Read [wiki:TwistedDevelopment#FilingTickets the FilingTickets section of the TwistedDevelopment guide] for details of the different ticket types and then visit the [/newticket New Ticket page].
* [http://twistedmatrix.com/trac/wiki/ContributingToTwistedLabs#ExploreandContribute Pick a ticket]
* Basic instructions [http://twistedmatrix.com/trac/wiki/ReviewProcess#Authors:Beforeyougetstarted before you start].
* [http://twistedmatrix.com/trac/wiki/ReviewProcess#Authors:Thingsyourbranchorpatchmustcontain Things your patch should contain].
* [http://twistedmatrix.com/trac/wiki/ContributingToTwistedLabs#Prepare Prepare]. (Links to other development process related documentation - redundancy)
* [http://twistedmatrix.com/trac/wiki/TwistedDevelopment#SourceAccess Source Access] (links to [http://twistedmatrix.com/trac/wiki/VcsWorkflows DVCS workflows] or [http://twistedmatrix.com/trac/wiki/BasicGuideToContributingCode#CheckoutSource checkout source])
* [http://twistedmatrix.com/trac/wiki/TwistedDevelopment#SubmittingaPatch Steps to submit a patch] * Also, possibly [http://twistedmatrix.com/trac/wiki/BasicGuideToContributingCode#SubmitaPatch tl;dr submit a patch]
* [http://twistedmatrix.com/trac/wiki/TwistedDevelopment#GettingYourPatchAccepted How to write a good acceptable patch]
* [http://twistedmatrix.com/trac/wiki/TwistedDevelopment#DevelopmentProcess Understand the development process]. (Links to [http://twistedmatrix.com/trac/wiki/UltimateQualityDevelopmentSystem UQDS] and [http://twistedmatrix.com/trac/wiki/ReviewProcess Review Process]) * Also, possibly [http://twistedmatrix.com/trac/wiki/BasicGuideToContributingCode#ReviewProcess tl;dr review process]
* [http://twistedmatrix.com/trac/wiki/ReviewProcess#Newsfiles News files!] (already linked from the links above - repeating for emphasis0
* [http://twistedmatrix.com/trac/wiki/ReviewProcess#Authors:Howtogetyourchangereviewed Submit for review] (May contain redundant steps)
* Read [http://twistedmatrix.com/trac/wiki/CommitterCheckList CommitterChecklist].
* [http://twistedmatrix.com/trac/wiki/Combinator About Combinator].
* [http://twistedmatrix.com/trac/wiki/TwistedWithCombinator Setting up and working with Combinator].
* [http://twistedmatrix.com/documents/current/core/development/policy/svn-dev.html Twisted and SVN] (howto).
* [http://twistedmatrix.com/trac/wiki/CodeReview Code Review] (i.e. Divmod's description of what a code review is).
* [http://twistedmatrix.com/trac/wiki/UltimateQualityDevelopmentSystem UQDS].
* [http://twistedmatrix.com/trac/wiki/ReviewProcess Review Process] explained in detail.
Text from [http://twistedmatrix.com/trac/wiki/ContributingToTwistedLabs#OtherWaystoContribute "OtherWaystoContribute"]