Here we are, at the front of a new year and decade. For open source software, the refined fuel that has enabled many of the incredible information technology happenings of the previous decade, the future is, well, wide open. The rising...
Here we are, at the front of a new year and decade. For open source software, the refined fuel that has enabled many of the incredible information technology happenings of the previous decade, the future is, well, wide open.
The rising tide of cloud computing combined with shifting strategies in the enterprise space will surely bring much excitement to the open source arena and the players within. Rather than reflect, or predict on the future state of open source, I'd like to take an opportunity to make a few requests to maintain the success of open source.
I am hopeful for a period of concentration and not necessarily consolidation. Let's face it, open source contributors do not always make good custodians. We are generally "shiny object" chasing individuals, and when bound in collective, it is very difficult for us to look backwards-or even to think in terms of "product".
Indeed, we can do much better to maintain and manage our projects and relationships if we are more open about our needs. Scale is largely irrelevant; full-duplex collaboration between developers, consumers and parental organisations is essential to continuously improving the quality, breadth and depth of open source projects.
Projects at Github.com, Kenai.com, CodePlex.com, Red Hat, or Oracle all require the same citizenship balance, between consumers and contributors, to drive the source's quality in the right direction.
If you are consuming open source applications, libraries or frameworks, please help ensure their continued progression by participating and contributing. Sure, if you can afford a formal relationship with a support vendor - please do so.
But do also ensure that the vendor is truly active in moving the project forward as well as managing its current quality. Otherwise, you could be adopting a riskier and potentially stagnant product.
As various open source development communities shift from centralised repositories to distributed hierarchies, we will continue to see an uplift in the potential for emergent innovation and opportunity.
The "free to fork" (i.e. the ability to split from the hive in your development of a project) attitude provided by distributed version control systems is also aiding contributions by removing the barrier to entry to nil, and as such should be highlighted. Github.com, sitting on the Git version control system, is a shining example of how a distributed system can be used to create a "social coding" platform, facilitating the innovative processes.
By pushing the social angle, there's also a new focus on the individual - the developer or consumer actually participating. Developers are incentivised to share their code, simply because there's no cost to do so.
Sharing is the spark for collaboration, the genesis for emergent and innovative ideas, and now can be passive. The closer we get to the individuals working on specific problems, while at the same time sharing and collaborating on its progress, the better the software gets as it becomes easier to break down the complexities and solve them discretely through smaller open source projects.
Now, imagine all of the potential that exists inside your organisation and yourself. It is worth noting that sharing doesn't have to be a "public" transaction. "Firewalled" source code sharing and collaboration is just as worthy (in compliance with the license, of course).
In Six Sigma fashion, imagine all of the improvements that could be made simply by providing the opportunity to share, starting with problems and ideas. Imagine self-service problem solving that eliminates duplication while optimising the best solutions.
Please help yourself, your organisation and your customers by thinking "collaboration" first. Obviously, collaboration should not override intellectual property, competition sensitivities and distinctive competencies, but can be managed in conjunction with your contribution and participation in the open source community. Architect your systems to maximise reuse by isolating intellectual property, practice solid engineering techniques and focus on delivering your business value.
In fact, there are many opportunities for open source or open data to help improve economies at the citizen level. There is movement towards "open data" which is the release of public data in usable formats (e.g. postal code listings) without charge.
These are good signs indeed. All that is needed now is a more collective approach to supporting local and national governments. In the U.S. the "Great American Hackathon", a movement toward the digitisation and conversion of government data into useful tools, was a great way to kick-off many civil projects.
Supporting local communities via open source is important for both you and the success of collaboration in your business.
Kit Plummer is OSS Engineer at Accenture