The expansion of the open source development model to companies who are just starting to submit code and take part in communities is leading to an interesting problem for their developers. How do they transition from a corporate development model to an open, global development environment? Who is training these developers on the “rules” or methodology commonly found in open source development environments?
I bring this up as I see many new companies joining open source projects for the first time and am often asked about how open source works for developers. As an example, most corporate developers are given a set of specifications from a product manager or architecture team which is then built following a detailed schedule with project managers and test teams supporting the effort. Following the plan, the developers usually meet the schedule and finish the project. Now compare that to a typical open source project, where the code written by the developer is reviewed and critiqued by others in the community and may not be accepted. In fact, there is no guarantee the code will even be in the final project. In this example, corporate coders are no longer doing a job to meet a deadline but rather participating in an organic exchange of ideas where the best solution wins.
My old boss at Xen.org, Ian Pratt used to say “Code Rules” when discussing how and why any given functionality is added to the Xen hypervisor. The source of the code was of no significance compared to the actual code submitted. The best code always was accepted regardless of whom wrote it. This model is clearly not something that corporate developers are used to. Thus, is there anyone out there helping corporate developers through this conversion process? If not, someone just got a great idea to start a company.
What are your thoughts? I am especially interested in corporate developers who tried to make the transition but gave up and stopped working on open source. Reasons as to why you moved away from open source are of great interest to me.
Stephen Spector is the community manager of the open source OpenStack cloud platform community which develops solutions and technology for public and private cloud infrastructures. He is responsible for all things OpenStack, except for the software itself.
Stephen is an old school C developer for Real-Time embedded systems and a long time alliance and developer program manager longing for the good old days when technology upheavals only occurred every six months. You can follow him on Twitter and the OpenStack blog.