Many people wonder what it means that Selenium is open source, and further, what the community element of that paradigm brings to the table. This article addresses some of the common misconceptions about that situation, as well as details some of the benefits of the community behind a product like Selenium.
When it comes time to select a tool for test automation, most organizations will create a list of candidates and whittle it down based on various measures: cost, features, alignment to existing standards, suitability for the software development lifecycle, and more. With the wide-scale adoption that Selenium has received in organizations of varying sizes and across many industries, the tool has found its way onto most company’s radars.
But from one place to another, this can raise some very interesting questions. Many wonder what it means to them that Selenium is open source, and further, what the community element of that paradigm brings to the table. Here, I address some of the common misconceptions of this situation, as well as talk about some of the real benefits of the community behind a product like Selenium.
Open source software is not enterprise-worthy
Enterprise-quality open source software has existed for a very long time. I’m a big fan of the Apache Software Foundation (ASF), and you don’t need to look any further to find dozens of examples of high-quality open source software that have become competitive in the industry—and, in a handful of cases, industry standard. ASF was releasing tools like Tomcat and Ant as early as 2000.
I’m not quite sure on the origin of the myth that open source software is not worthy of the enterprise, but the IT community is certainly coming around on this one.
Open source software is slow to release updates and fixes
While I won’t vehemently shout “False!” at anyone who says this to me, I will debate the idea quite heavily. The hard part of talking about this misconception is that it sounds feasible. A community of developers who have other full-time jobs and aren’t getting paid to develop the software? Of course people assume that they’ll release slower and be less responsive!
Luckily, this is not the reality. While the scenario described here is entirely possible, the same can happen with proprietary software. Also, the developers behind Selenium and similarly successful open source projects have these challenges much higher on their list of priorities than you might guess at first. Couple this with the fact that you can see the source, find the bug, fix it, build it, use it, and share it with the community, and now you’re firing on all cylinders. If a bug is problematic enough to frustrate you, it’s frustrating plenty of others. Call enough attention to it and the community will respond in force.
Open source software compromises security
This one I don’t have a problem shouting about. I’ll grant that in organizations with lots of proprietary information it makes sense to have blanket policies about protection of source code. That being said, I have never heard an argument approaching legitimate claims that supported this point.
Security is about a lot more than software. It’s about arsenals of software, and systems designed to protect that software and your information. I’m not sure what angle people want to take on this, or if this rumor is simply an artifact of a fear of the unknown, but let’s be quite clear: An implementation of Selenium, or some other reputable open source software, does not inherently compromise the security of your organization or its information.
With these open source myths out of the way, let’s turn the conversation toward some of the real benefits of the community behind Selenium. While some can already be inferred from the content above, there are a few notable ones that deserve some special attention.
A strong community drives rapid feedback
The developers of Selenium are users of the product, and vice versa. This is incredibly powerful. When I’ve been in a position in the past to have sales engineers demo a product to me that seems useful to IT organizations, I’ve often asked, “Do you use the tool in house?” The question seems pretty innocent, but it has some strong implications. Do you trust the software enough to use it? Do you believe in the power of the tool enough to want to leverage it?
History has shown us that people build better things, whatever they may be, when they are strongly invested in the success of their product and when they believe in it. Open source software does this for us, seemingly for free as a byproduct of the process.
More concretely, this means that the community behind an open source product is strongly incentivized to provide rapid and continuous feedback in order to drive long-term improvement in the solution that is delivered. It’s actually that simple.
A thousand heads are better than one
There are a lot of smart people in this world. Why not leverage that? A large community of driven people will generate good ideas. This isn’t a maybe or a likelihood; it happens. Selenium and other open source projects are what they are today because of their communities.
Thanks to the ingenuity, devotion, and real-world experience of thousands of users, Selenium is constantly progressing toward being a better and more comprehensive browser automation solution. And this isn’t just a result of the vision of a handful of people, but rather a reactive and evolutionary process grooming Selenium into the solution that real people, doing real work, want it to be.
Many users, many solutions
While a community of active users can be crucial in growing a product into the solution the market needs, this community is also a massive 24/7 support network for IT professionals using the product. I personally think this is the most obvious and direct benefit of the open source community. This is so powerful that it happens across all of human interaction on the web. Just think about the Stack Exchange network, MSDN, or even something like Pinterest. People with similar goals band together on the web every day to collectively solve challenges or share knowledge.
While it is clear that this trend is not unique to open source communities, open source software development more strongly encourages this type of community interaction than other methods. It’s a classic example of not having to reinvent the wheel when someone else has already solved your problem and shared the solution, and now there is more content to draw from than ever before.
Open Source: It Takes a Village
I had the pleasure of attending Selenium Conference 2015, and I would strongly recommend attending future conferences to anyone interested in Selenium. My experience was extremely positive, the topics of the talks were interesting and ran the full spectrum between business and technology, and the organizers really do a wonderful job of making all of the attendees feel like they’re participating in something great. If you want to experience the power of the Selenium community firsthand, there is no better way.
At the end of the day, open source software can experience all the same problems we’re used to with propriety software, and it isn’t the solution for everything—but this isn’t because community-driven software is bad. Software development is a creative process, and under any paradigm it requires iterative improvement. The nature of software creation necessitates support and feedback and is aided by the agility to implement this feedback in a reasonable amount of time. A strong community of invested users supports these core tenets of software development in compelling ways.
If you’re still skeptical, attend a Selenium conference or try your hand at contributing code or bug reports. I’m sure you’ll find this group to be very receptive, and with any luck, the community will grow one user stronger.