Most people do not think of software developers as being high on the “social” scale. In fact, the (misinformed) stereotype for a typical developer is that of the introverted geek. But in many ways, particularly with open source developers, this couldn’t be further from the truth.
Contributing to open source software is a profoundly social activity. Some of open source’s main tenets are collaboration, transparency and meritocracy, which require developers to collaborate and share at a highly productive level. And with over 500,000 open source projects on the Internet, there’s a lot of collaboration going on. It’s clear that by participating in open source communities, developers are engaging in productive social behavior.
While some people may picture open source developers as working quietly and in isolation, the reality is they may work on large projects with a wide community of collaborators. For example, Linux has nearly 10,000 contributors. Others may focus on small, personal projects, which may or may not draw the attention of the larger development community.
But even developers working on small projects are still working with other people. And virtually all new open source projects derive from those projects and the developers that preceded them, creating a vast body of work that accelerates innovation and fuels further collaboration.
Today’s open source developers are contributing to projects in very different ways than just a few years ago. What has changed?
Search + Social Media = Social Development
Two developments — search and social media — have changed the way coders work to create “social development,” a new style of software collaboration. Let’s look first at social media’s influence on it.
Social media’s impact has forced change (some good and some bad) in nearly every sector of the economy — including open source development. While communities such as Slashdot and Stack Overflow provided an early glimpse of social media’s impact on development in the FOSS community and encouraged developers to become more active within these and other communities, the effect took some time to achieve.
Today, it’s not unusual to see enterprise software developers more active in social media circles, even as enterprises themselves are evolving socially. According to a recent study by Forrester, developers are engaging socially; they’re joining communities to connect with experts, seeking answers to business problems and, like many people, networking for career advancement. The figure above shows the leading reasons developers join communities: to connect with thought leaders, gain expertise and engage in high quality discussions.
Web search has also enhanced the importance of social media among open source developers, affecting this new style of development. My company recently commissioned a study with Forrester to investigate the social habits of developers. As shown above, contributors to open source projects turn to online search first for information about development technologies, followed by social sites like networks, forums and other online communities.
Developers also share search results via open source or project forums, communities and more general social media tools like Twitter.
As a result, today’s “social developer,” even if not an employee of a large enterprise, is participating more than ever with enterprises – or more specifically, with developers in those enterprises who are increasingly involved with FOSS communities of various types.
Social development arms corporate developers with a new toolset for producing innovative and high quality software at enterprise scale faster than ever before. This style of development wasn’t possible just a few years ago before search, social media tools and online collaboration tools made it possible to create software using social development techniques. Nevertheless, the evolution has been crucial to the success of businesses and individual developers.
Another pivotal change is the fact that enterprise IT organizations are now discovering the need to “go social” and join communities as a strategy for leveraging and using more open source software, especially mission-critical components. This significant trend reflects the reality that open source use is becoming a competitive requirement. Even within the firewall of an enterprise, the trend toward collaborative development to share best practices, facilitate code reuse, and enhance developer productivity is escalating rapidly.
Other environmental and technical changes have supported the emergence of social development. Communications between project committers — which until recently were conducted through IRC channels and wikis — have expanded with the increased number of social communities. And today more than ever, FOSS developers are actively seeking enterprise adoption of their code.
Another change is the emergence of sites like Ohloh, a free community resource, which was specifically designed to support and encourage social development and to allow developers to give each other kudos (literally). The figure above also lists the contributors for a project called Restlet, a Java REST framework for web developers. Shown on the page are the developer profiles, kudos and code commitments to the project.
While social development isn’t a challenge for Gen Y developers, it still presents management challenges for enterprises, especially larger ones. Moving at web speed and using social tools still requires some adjustment. For example, new college hires expect to be community participants, yet large enterprises may not be comfortable with this level of transparency. Although open source projects are based on the notion of transparency, collaboration and meritocracy, some corporate policies may prohibit or limit this philosophy, just like some corporate cultures may resist the trend toward openness in development.
Social interaction and social development offer tremendous new opportunities for developers and enterprises. The advent of social media tools has changed the nature of community participation as much as search. If you and your organization have not joined the growing number of “social developers,” now is the time to start.