The first annual FOSSCon was great. I attended many interesting talks, met many interesting people working on many cool projects, and had fun overall.
The first two presentations I attended were titled “Making the most out of Communities” and “So you started an open source project, now what”. Even though I have worked on many FOSS projects, I was surprised about how much I learned and picked up relating to forming and interacting w/ communities. Some things I picked up relating to community engineering were (in no particular order):
- Always identify the exact needs of your community as well as exactly what you need. You may not need more developers, but rather bug reporters or translators, or perhaps you need something else all together.
- Offer many suggestions / ways for people to get involved, but don’t box people in, encourage your users to use and modify your product as they see fit, to meet their needs.
- Offer the lowest barrier to entry to get people involved. Perhaps its better not to fix that simple bug if it’s not blocking anyone. Document it and wait for a new developer to submit the one line fix that can be pushed quickly, so they can see immediate results.
- Foster strong personal relationships w/ your users (so they are not shy about contributing). jboss.org had a slideshow of pics of all the developers for example, just to add that personal touch.
- Along with that, don’t be a stranger, be sociable and personal (podcasts are great ways for status updates as they add a human element)
- Still going along with that, the ‘California Ecosystem’ is something worth looking into. Out west people are not ashamed to discuss the projects they are working on, and just by wandering around you can overhear many different interesting project conversations. I actually noticed this myself when I visited my friend in San Jose a couple years back, on the Caltrain into SanFran I overheard many engineers at many big tech firms discussing various projects. In many other parts of the world, people are more closed and you have to go out of your way to find information and happenings.
- Inexperienced devs can be a good thing. They often get more excited about small / trivial changes that they make (more so than experienced devs who just see them as additional patches), and are more keen on picking up your development practices and standards.
- Be polite about rejections, always try to offer suggestions and directions as to how to change the rejected submissions so that they make it in
- Try to attract only as many devs as you need and can handle. Yes more developers means more code, but it also means a whole lot more community engineering
- Be honest about your community management practices. Even if you are engaging in “social engineering” to get what you need out of your community projects, your devs and users will appreciate honesty more than trying to hide it
- Frame your needs well, word tasks as interesting problems which contributers should come up w/ their own solutions
- Make the first day the best day for new contributers so they keep coming back. Offer the lowest learning curve, but don’t be overly helpful, encourage self-discovery and engineering. Express an interest in their needs and wants, see where they would be best fit.
- Shameless self promotions are good, discuss what your working on, get people interested
- Try to diversify your goals while trying to avoid feature creep. If something is rejected, suggest direction to go, determine priority (possibly add to roadmap for later), make sure the vetting process is transparent w/ multiple people involved, and if it comes down to it, don’t be afraid of forks.
- “respect is an important currency in the community”
After the first two talks, I spent some time in the vendor hall checking out the different projects being represented, especially the OLPC exhibit. There I spent a while talking to the RIT students working on the OLPC, discussing how they are helping to develop and promote the platform, and how they envision using it to teach students. Needless to say I was very impressed not only by the additions to the OLPC platform itself but also by the very talented students working on it and I wish them all the best on the road ahead.
Next I attended the POSSE (Professors’ Open Source Summer Experience) Panel where there was a phenomenal discussion pertaining to how to best bring open source to education, and how to best teach it. It was really a great discussion, with everyone contributing with their own experiences and thoughts and we really came up with some good ideas as to how to get more students involved, lower the barrier for students to quickly start and contribute to existing open projects, and some practical ways to solve these issues. This panel got me more interested in thinking about how to bring open source technologies to schools, including my alma-mata, Syracuse University, and I hope to help work towards getting more involved in bringing open source to education.
Finally I attended the lightning round discussions where many projects people were working on were promoted as well as new features in many major software packages demoed. After the closing keynote, me and my friends that I came with grabbed some food at a great Thai restaurant and then it was back to Syracuse. Overall it was an amazing conference and I look forward to FOSScon next year.