converted to 1.6 markup
|Deletions are marked like this.||Additions are marked like this.|
|Line 3:||Line 3:|
|||<tablewidth="100%"style="border: 0px hidden ;">~-''Translation(s): [:WhyDebianForDevelopers:English] - [:zh_CN/WhyDebianForDevelopers:简体中文]''-~ ||<style="border: 0px hidden ; text-align: right;"> (!) [:WhyDebianForDevelopers/Discussion:Discussion] ||||||<tablewidth="100%"style="border: 0px hidden ;">~-''Translation(s): [[WhyDebianForDevelopers|English]] - [[zh_CN/WhyDebianForDevelopers|简体中文]]''-~ ||<style="border: 0px hidden ; text-align: right;"> (!) [[WhyDebianForDevelopers/Discussion|Discussion]] |||
|Line 5:||Line 5:|
|Line 93:||Line 93:|
|The ["WhyDebian"] page will explain this to you. And more.||The [[WhyDebian]] page will explain this to you. And more.|
- Is the Debian Project a home for my programming skills?
- What are Debian Project advantages for a developer?
- Useful links
Is the Debian Project a home for my programming skills?
It depends on your developer characteristics and skills.
First, ask yourself why do you want to contribute to a free (libre) software project? , 
For maximum results and satisfaction, it is better to have a combination of the characteristics listed below.
Some people feel more comfortable being involved in other communities, with different social environments . But even so, you should contribute to the Debian Project to improve other FLOSS projects . The Debian Project is like an "upstream" project for many distributions. A number of Debian developers directly contribute to upstream projects as well, and all Debian developers contribute at least indirectly.
Want to do things the right way
You have pride of your well done work.
No low quality short cuts.
Do not want ugly hacks in a hurry only to meet a deadline date.
No lazy programming.
You want to create technically sound solutions.
You are not afraid to follow a strict development process (Debian Policy  and related/derived policies ) that has evolved over many years targeting the best resulting systems.
Want to create and implement the best solution
You want to create high quality solutions .
The highest standards attainable.
The reference others compare to.
Want to learn a lot every day
You are not afraid of reading really LOTS of documentation before asking. You do your homework before.
You are not afraid of asking for help and hints from other developers to learn different approaches.
You are willing to try different programming solutions, and not afraid of unorthodox ways of thinking.
You are a committed person
Users depend on your work.
Other developers depend on your work.
Community depends on your work.
Debian Project depends on your work.
Are you willing to be there when needed?
You are a disciplined person for the work
You may like and practice radical sports. Or defend unusual ways of living, politics, religions, etc. It does not matter at Debian Project (written in the Debian Social Contract ).
But the Debian Policy needs a disciplined developer for the work.
Able to work in a community
It is highly recommended that you have enough social skills to work in communities, or at least small groups and teams.
The Debian Project has some guidelines  and rules ,  that warrant your rights  and tell you some limitations about working and living within a social group.
You have rights and duties  relating to a peaceful and productive work environment and learning experience.
You have a place to guide you in your first steps  and a place to ask for hints  at the initial phase.
Sure, you can talk with (almost) no one and only code . Many very skilled developers do not have (almost) any people communication skill. It is not an obligation. But you may miss some opportunities to teach and learn interesting things from/to other very skilled people like you. These should motivate you to acquire some minimal communication skills .
Want to work in the Project not for money
The Debian Project is a not-for-profit entity and it does not employ developers. Maybe you get some (temporary?) financial sponsoring from third parties. Or your employer may pay you in order to push forward some working solution. Or your company wants to reduce development and maintenance risks by offering code to the Debian Project and invoicing your customers for technical support. Or you work on some programming bounties. Or got a kind of Summer of Code sponsoring. There are some methods of making money working with FLOSS , , .
But the Debian Project has evolved through community spirit and does not have resources for reimbursing you. The Debian Project has limited resources coming from donations and sponsoring. Most developers do not work on the Debian Project for any (direct) money. You need to have other (direct) work motivations. It is not cast in stone, but the "Debian culture" accepts sponsoring companies, donations, some indirect funding (travel, hosting, machines...), employers funding, code/bug bounties, etc., all from external sources to the Debian Project.
You will not work for free for a company. The Debian Project is not a company , .
Not afraid of hard work
You will have a lot of hard work ahead.
It will be very interesting. You will learn a LOT from documentation and from other very skilled people.
But you will have to study a LOT. Search the Internet a lot. Visit the library a lot. Develop and re-develop and restart from scratch many times using other approaches until your solution is accepted by your peers as a good technical solution.
You will have to dedicate MANY hours to hard work advancing your technical skill.
You will have to learn a very lengthy development process and tools. Be prepared for a very long period of study , .
What are Debian Project advantages for a developer?
The WhyDebian page will explain this to you. And more.
The Debian Project has a social contract  and a Constitution  and it is not a commercial entity, nor controlled by one.
The Debian Project is not controlled by a board of investors, or a board of directors or a benevolent dictator, or a private owner. It is a meritocracy  with yearly elected leader ,  and meritocratic key functional positions.
It does not have to pursue profits, nor practice censorship for commercial advantages , nor can go out of business (it is not even a business). It cannot be sold, nor go bankrupt.
The Debian Project does not want to sell you anything, nor invoice you anything.
The Debian Project does not change directions at market profit trends. Does not 'show you the door' because you are not profitable anymore. Does not abandon users in light of profit margins or trends. It does not want to "milk" users/developers as hostages, forcing continuous un-needed upgrades, or have programmed obsolescence to keep profits.
- You will not work for free for a company.
Nor will it be dependent on sponsorship goodwill from a specific (steering) company, sponsor, donator or group. Nor will it be eager to appease them.
The Debian Project is fully committed to user needs, as written here , .
The enforced Debian Policy is the real technical differential of the Debian Project.
And it is practiced by the developers.
The tools and infrastructure only ease the repetitive work, freeing the developer for the really creative work and clever programming.
Following the Debian Policy, developers can achieve the high standards the distribution is known for.
Developer tool chain
If you ever tried to compile and package for other distros, you know "dependency hell".
The Debian Project has myriads of developer tools to help your task.
Read 'man' pages and docs about auto-apt , dpatch , fakeroot  and debhelper , as a small sample.
The Debian Project has almost all compiler and languages ever created in its repositories.
The Debian Project produces software that targets more than 11 different architectures, so your software must compile on all of these.
If you need help for this, Debian has 'porters' to help with that and it also has access for you to test your software on various developer machines with various CPUs.
Simple packages are really simple to accomplish . Complex and advanced packaging tasks are simplified with debhelper and tools .
The Debian Project has scripts, remote services and resources for automatic processing to the maximum extent for almost every item of Debian Policy or aspect of software development.
You will be almost free of repetitive work, freeing your time to develop technically solid solutions.
The Debian Project even has a team dedicated to improving the quality .
The Debian Project developer community is a VERY dependable one. The community is very organized and very vocal, with strong positions . Intelligent and smart questions will always quickly find someone to help or point directions for research. But those very same skilled developers has almost zero tolerance for lazy developers and dumb or repetitive questions.
You MUST do your homework before asking for help.
Intelligent and solid questions (research done before asking) will attract attention from bright developers. They like a knowledge challenge, not a documentation or discussion list repetition. Or something easily solved by an Internet search or a trip to the next library.
As many skilled developers are harsh to deal with , you will likely not find soft talk or hand holding, but the most clever answers you could find anywhere.
Your proposed solution will very likely receive corrections, some of which may be extensive. The other developers want the best solution. And will discuss solutions extensively before implementation when needed. It is not about you.
It is because all Debian Developers are in the pursuit of technical excellence.
As you are.
 Debian Social Contract http://www.debian.org/social_contract
 Progeny Linux went out of business http://www.osnews.com/story.php/17820/Progeny-Linux-Shuts-Down/
 Constitution for the Debian Project http://www.debian.org/devel/constitution
 Debian Voting Information http://vote.debian.org
 Debian Community Guidelines http://people.debian.org/~enrico/dcg/index.html
 Debian minimal mailing list code of conduct http://www.debian.org/MailingLists/#codeofconduct
 Debian Policy http://www.debian.org/doc/debian-policy
 Debian Developer Corner http://www.debian.org/devel/
 Debian Quality Assurance team http://qa.debian.org/
 Debian Mentors http://mentors.debian.net
 Debian mentors mailing list http://lists.debian.org/debian-mentors/
 Five geek social fallacies http://sean.chittenden.org/humor/www.plausiblydeniable.com/opinion/gsf.html
 Asperger's syndrome http://en.wikipedia.org/wiki/Asperger_syndrome
 Aspires : Climbing the mountain together http://www.aspires-relationships.com/articles_social_skills.htm
 The Emerging Economic Paradigm of Open Source. http://www.perens.com/Articles/Economic.html
 Meritocracy http://en.wikipedia.org/wiki/Meritocracy
 Debian New Maintainers' Corner http://www.debian.org/devel/join/newmaint
 New Maintainers site http://nm.debian.org
 Auto-apt http://packages.debian.org/stable/admin/auto-apt
 Dpatch http://packages.debian.org/stable/devel/dpatch
 Fakeroot http://packages.debian.org/stable/utils/fakeroot
 Debhelper http://packages.debian.org/stable/devel/debhelper
 Creating packages for Debian http://wiki.debian.org/HowToPackageForDebian
 Create multiple binary packages from one source http://wiki.debian.org/PkgSplit
 Will Open Source Developers be Well Paid? http://itmanagement.earthweb.com/career/article.php/11067_3687096_1
 The Economic Motivation of Open Source Software: Stakeholder Perspectives http://www.riehle.org/computer-science/research/2007/computer-2007-article.html
 Two Questions for All Serious Free Software Contributors http://etbe.coker.com.au/2007/08/08/two-questions-for-all-serious-free-software-contributors/
 FUN: How Nerdy Are You? http://www.blogthings.com/hownerdyareyouquiz/
 Scientific study about Debian Project governance and social organization http://techforce.com.br/index.php/news/linux_blog/scientific_study_about_debian_governance_and_organization
 Ubuntu developers should contribute to Debian development https://wiki.ubuntu.com/ContributingToDebian
 A New User Guide to Linux Communities http://linux-blog.org/index.php?/archives/247-A-New-User-Guide-to-Linux-Communities.html