Next weekend you will be able to find me at the 2nd annual Free and Open Source Software Conference in Philadelphia, PA. I attended the first one last year at RIT in Rochester NY and had such a great time that I decided to return this time around to present!
I will be talking about Aeolus, which is an open source, vendor-agnostic cloud management framework that allows you to deploy and monitor instances on any cloud using the same tooling from any language. I will be discussing some of the details of the framework and how we interface w/ various cloud providers, some open and some proprietary.
Be sure to check out the project, there has been alot of great progress recently, including support for more cloud providers (ec2, rhev-m, vmware vsphere, condor-cloud, and more), better and simplified ui and tooling, and more integration with other upstream components. We are working on finishing up the Aeolus/Rails 3 migration and are pushing the aeolus components into Fedora for F16 to ease adoption, so look out for those soon!
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.
I will be attending FOSSCON this Saturday at RIT, about an hr away from Syracuse. I plan on carpooling with a few friends I know from the Syrlug, but there may be more seats available (I can't guarantee this though). So if your in the Syr area and am interested in attending, send me an email and I'll see what the situation is.