FOSS Devs' Biggest Complaints: Documentation and Licensing
Aug 29, 2013 5:00 AM PT
Open source software may hold considerable appeal for software developers around the world, but that doesn't mean it's without its aggravations.
While no one aspect qualifies as the ultimate reason to oppose writing or using open source code, a significant number of programmers report that poor documentation and problems interpreting licenses rank high on their list of grievances about it, according to a recent survey of programmers' attitudes by software maker JFrog.
"That has been an inherent issue for open source software for a long time," Al Hilwa, program director for application development software with IDC, told LinuxInsider. "It is much more exciting to develop code than write documentation, and so community-developed software rarely gets the professional attention that commercial software more often provides."
Also ranking high is programmers' dissatisfaction with the reliability and performance of their software distribution platform. That complaint runs the gamut from the development cycle to the release-to-customer cycle.
Entitled "Your Life as a Developer," the survey polled responses from software programmers at more than 150 Fortune 500 companies worldwide. It sought detailed replies about code writers' day-to-day tasks and challenges.
JFrog's survey divulged some major negative sentiments among code writers regarding open source. These were prevalent in about 65 percent of the responses, Yoav Landman, JFrog's cofounder and CTO, told LinuxInsider.
One of the more striking revelations from the survey was that a majority of software developers view their biggest challenges as poor documentation and confusing licensing when it comes to open source software.
"What makes open source so good is often what makes it undesirable," Scott Testa, director of Entrepreneur and Business Boot Camp at Villanova University, told LinuxInsider.
"By nature open source has poor documentation and problems trying to figure out if your intended use is legal," Testa explained. "If you are a big corporation, you want to adhere to the license, but in some cases the legal issues are not clear. If you are a programmer, you just want to get the code writing job done."
Of course, some companies forge a living by making open source software more reliable and supporting it with solutions to some of these problems, noted Hilwa.
Another major sentiment relates to worries about a developer's liability resulting from using other open source software in the project under development. Those concerns echo worries about open source licensing.
"Companies nowadays are very worried about getting a wrong license into the code space," explained Landman.
In this regard, open source flipped the software market on its head, Rob Enderle, principal analyst for the Enderle Group, told LinuxInsider.
"It directly addressed a problem with regard to getting access to code, but by doing so often eliminated the process that assured quality and ownership," he said.
'A Sharp Rise in Production'
Of particular interest to JFrog -- which offers tools for monitoring builds and exchanging code via a binary repository management system -- was that fewer than 8 percent of the programmers who responded to the survey were still using legacy methods to store and distribute binaries, or code libraries.
"This indicates a very sharp rise in production," said Landman noted.
Those older methods of storing and distributing binaries included file systems, shared file servers, HTTP servers, etc., Landman explained.
"There is a level of portability and simplicity if you have binaries, but that should not take away anything from the value of open source software as an approach to application development or as a business model," said Hilwa.
A Collaborative World
More than 90 percent of developers responding to the survey use source-control and binary repositories as their primary means of exchanging libraries and code with other developers, meanwhile. That means internal file sharing systems and physical media such as optical disks and USB drives are a thing of the past.
Half of the respondents said they use source-control systems, specifically, while 40 percent rely on a binaries repository.
Interestingly, a full 80 percent of the developers surveyed were not active users of either Google Code or Github.
In any case, developers are becoming more and more collaborative, and that spans not just colleagues within the companies but also peers across companies and the world, JFrog survey analyzers concluded.
The survey asked software developers to rank their biggest challenges when creating build setup and configuration management. The most frequent answer was reliability and performance of the distribution platform.
A solid 25 percent of developers believe their biggest challenge is reliability and performance of the distribution platform they are using, the survey analyzers said.
What did respondents say was the most time-consuming nondevelopment task for their development teams? The top answer was build and test time.
"Processes that a software vendor would typically do to assure quality and ownership still needed to be done," Enderle said, "but because they were taken for granted, they were undervalued, and this resulted in a lot of bad decisions."
Finally, what's responsible for all those release delays that occur so often? Some 57 percent attributed them last-minute code changes, while waiting for feedback was most frequently ranked as the most time consuming.
An Unstoppable Force
Despite programmers' various concerns, open source today is nothing short of unstoppable, Landman said.
"Even the concerns of programmers will not detract from the continued growth of open source software," he explained. "There is nothing in proprietary software that is equivalent to the crowdsourcing around consumption of binary libraries or packages."
Meanwhile, open source software promises to get even better, he added, thanks to forces including developers' ability to comment on projects under development.
"The ability to attach documentation for the software you release and the ability to find this information quickly and automatically," Landman concluded, "are all key factors in the growth and flourishing of the entire open source ecosystem."