Not many people are ‘unaware‘ of open source in todays world but still they seem hesitant, confused, or intimidated to enter the open source community and start contributing to open source. Mentioned below are some excellent blog posts that I have read in the recent past around this interesting subject.
Why it is important for organizations to build an open source culture, the competitive advantages of the same & some ways on how it can be done.
Why should you, as a developer, actively contribute to open source? — including helping land your next job to writing better code, developing REAL reputation.. It also talks about the barriers to open source contribution
If you are a student, open source can surely help you jump start your career
And yes, even after all this, people will have 1001 million reasons on why they don’t get involved with open source
Yes, open source software programmers are ROCKSTARS..!!!
and finally, some steps on how we can get newbies involved in open source
Every computer literate person, at some point or the other, would have faced an application crash and a message something similar to the following:
“xxxx application crashed. Would you like to send the details to the XYZ company to help make the product better…”
I will be honest that I have seldom hit the ‘OK’ button but have at times wondered how would these crash reports get processed.
Now, here is a great insight into how Mozilla processes the browser crash reports it receives. The project is called Socorro & uses Hadoop, Python, HBase etc.
You can read a wonderful article here. A must read for all Techies, has a short demo video, a PoC showing how Mozilla could integrate Hazelcast into Socorro and achieve caching and processing 2TB of crash reports with 50 node Hazelcast cluster.
Mozilla receives ~2.5K crash reports per minute during peak traffic & stores 2.6 million crash reports per day….!!!!.
PS: Am wondering how much crash reports Microsoft would be getting for it’s applications :-))
As a huge believer, user, proponent, contributor of open source for more than 10+ years, I now firmly believe that the ‘concepts’ of open source — such as transparency, visibility, openness, user participation, emergence are equally applicable to many many more facets of life, society and organizations; and go much beyond just software products.
For example; let’s talk out these concepts of “transparency, visibility, openness, user participation” in ‘Human Resources’ function of an organization, with a focus on performance management:
- Setting of annual/project based objectives by employees is a very key pillar of performance management in any reasonably large organization. However; we also know that this is a major pain area for most organizations. The issues & pain points range from
- Employees not setting their annual/project based objectives in time and at times doing so only few days/weeks before the annual/project appraisal.
- Managers/Supervisor not laying enough importance to this aspect of people development
- The employees not knowing what to set as objectives and at times using
- Cases where objectives have been set but employees are doing work that has no or little co-relation to what they have set as their objectives
- The perception — true or other wise; that objectives don’t matter and has little or no bearing on the actual appraisal
- Organization not walking the talk — Senior Managers/Supervisors not being held accountable for people development; in fact in some cases managers/supervisors getting away by not setting their own objectives
- Others such as talent demand supply gap, etc.
- These above issues have a multiplier effect and are a huge bottleneck for an organization that wants to build a culture of ‘meritocracy‘ and not ‘yes man ship‘. For building a meritocratic organization, the fundamental basis is rewarding employees based on quality of work done, output, results and ‘work objectives‘ plays a huge role in that.
Can open source concepts come to the rescue?
- Can the objectives of ALL the people within the organization be made visible to everyone? What’s the harm? This can, with a single stroke, create an environment of “transparency, visibility, openness” that can lead to the building of absolute fairness in the system. The team will know who is accountable for what and who is pulling their weight and who is punching well below their weight.
- What if, extrapolating this even further, even the appraisal ratings/feedback of people is made visible to everyone? People will know why someone is where (s)he is? Again, with a single stroke you just remove all the seeds of what can cause weeds to grow…
I have heard of few organizations where one/both of the above is practiced. Infact, apart from your salary, everything is public within the organization — what projects you are working on, what’s your objectives for this quarter etc etc.
I wonder why organizations don’t go down this path?
Having seen open source from close quarters and a long enough time, I am beginning to believe that monopolies [or near monopolies] do exist in the open source world also and the business complexities, rules, strategies similar to the ‘other world’ are prevalent & relevant here. In fact a lot of smart people, organizations, communities have realized this aspect of open source and are quietly moving ahead — making full use of open source to create monopolies while many people are still debating the moral, legal, aspects.
Open Source promotes competition and diversity.
Yes, it does promote and provide opportunity for diversity & competition. But only in some areas areas, products and not in all areas. The ‘fundamental’ building blocks for the success of an open source [or a proprietary one] remain similar if not same.
Let’s take the classic example of ‘http’ server — Apache. Is it a monopoly? How many other open source http servers are out there that are popular and adopted by the world? hardly any..
For an open source product, the community that it is able to create for itself and leverage gives it the muscle power to ‘consciously or unconsciously’ create a monopoly. The larger the community, the larger the adoption, and hence the larger is the barrier to entry for other open source solutions.
However; it is true that open source does cause disruption within open source monopolies itself. for example: STRUTS was the de-facto framework for java based web development and had a near monopoly. other frameworks never stood a chance. Then comes spring and creates a whole new paradigm. So now it is spring that is on the verge of creating a monopoly. Then we have jBoss app server as an example. It is the defacto monopoly in the java middleware market.. It’s amazing that how jBoss has used the power of the community to effectively build a monopoly. Then think of eclipse.. the whole ecosystem it has been able to create around eclipse is amazing..
I think that in areas that are fundamentally ‘protocol/standards based’, open source products, solutions, frameworks is a sure shot way to create a monopoly and in areas where the differentiator is based on features, implementation etc, there will always be several open source products competing in the marketplace — competing for adoption, competing for building a community etc.
I think the smart companies will soon realize this and use open source for their business advantage to create huge barriers of entry, and near monopolies. The challenge is that it the fundamental requirement in this equation is to create a vibrant, robust and engaged community around the open source product. While commercial organizations are expert in creating brands/marketing etc, creating communities is not something that comes naturally to them. The key to success would lie there in my opinion..Maybe time for a CCN [Chief Community Nurturer] role within organizations..
A Disclaimer: I am a huge believer in open source and have been involved in this world for more than 10 years.