Working with the community
Created at Monday, 30 August 2010 23:22 Last Updated on Monday, 30 April 2012 15:20
Written by Armijn Hemel 葛冬梅/翻譯
1. What is "the community"?
In open source software the concept of 'the community' is important, because it is the core unit to run the open source software development. Often a community consists of developers of the software, users of the software and other interested people.
Every community is different and has different goals, methods and requirements. An approach that works with one community might not work with another. Some communities welcome corporate cooperation, while others will be quite hostile about it. Bigger communities, like the Linux kernel, almost always welcome corporate cooperation.
2. Why would I want to work with an open source community?
Working with the community has advantages. For example, if you use code from a project and make changes to it, you can benefit from submitting it for inclusion in the "upstream" source. This means that:
- if a newer version of the software is released, you will not have to apply your changes again * your code will get peer review and will probably be improved
- it is good PR for your company
- GPL license management is easier because there are no patches that can be forgotten when making a source code distribution
3. How do I work with an open source community?
There are a few core rules that you will need to follow to increase the chance of a contribution being accepted:
- Use the coding style that the project uses. The developers are used to this and will sometimes refuse your code if it uses a different style
- Don't expect that big patches will be accepted right away. Some patches need revision before they are accepted, because they are too specific for one user and don't benefit a lot of users.
- Be open, and ask questions if you don't understand something.
- Don't take criticism personally. Many developers can be rude, especially on the Linux kernel mailing lists. This is because writing good code is what they pride in. They expect other people to write good code too, and they are not very subtle. Just remember that it is not personal and it is not a criticism of your company. They just care about code quality.
4. Getting help
There are companies who provide consultancy on working with FOSS and with contributing to communities. Examples include large providers like IBM and HP, small management consultancy companies like Olliance and Opendawn, and engineer-focused consultancies like HMW Consulting and Loohuis Consulting.
Copyright © 2010 Armijn Hemel, gpl-violations.org,
This work is available under the
Creative Commons Attribution-No Derivative Works 3.0 Unported license.