The underlying principle behind open-source software is that the code is accessible to whoever’s using it. While it’s meant to be shared, there are rules to the sharing, and many of these rules are determined through the use of open-source software licences.
The purpose of licensing open-source software is similar to licensing proprietary software: the developer wants to protect him or herself from litigation and to ensure that his or her code is used in an appropriate manner.
According to Guy Davis, a systems analyst at Pason Systems in Calgary, not licensing software isn’t an option for the responsible developer.
“At this point, software is less trustworthy than any other product on the market. No matter how good it is, your computer still crashes more often than your car breaks down, and so end-user agreements prevent users from going after the producers. That’s true in both proprietary and open-source software,'” he said.
There are more than 30 open-source software licences currently approved by the Open Source Initiative, a non-profit corporation dedicated to managing and promoting the open source definition. Each licence is variable in terms of flexibility for the end user, but both Davis and David Skoll, president of Ottawa-based Roaring Penguin Software Inc. agree that the two most commonly used licences are the GNU General Public License (GPL) and the Berkeley Software Distribution License (BSD).
“I think that choosing what licence you want to use is really a personal decision to be made by whomever is writing the software. Most open-source software – or at least half of it – is licenced under GPL, but a substantial number go with a BSD-like licence, but the choice of the licence depends on the motivation of the software developer,” Skoll said.
Davis said choosing one type of licence over another boils down to what the developer thought he’d get in return for releasing code to the public. For commonly used software, such as bug tracking, Davis said there is a pretty compelling argument for sharing the source. For software that is created for a very specific task few people will be able to make use of, releasing it under an open-source licence may be preferable.
According to Davis, the GPL licence forces developers who take code from the open domain to return the favour and keep the code open. It’s more of a “social licence,” he said. The BSD licence is less restrictive, and essentially allows developers to get their software used as widely as possible in order to encourage standardization.
Timothy Witham, lab director of Open Source Development Lab Inc. in Beaverton, Ore., said the GPL is appropriate for developers who want to ensure that if a competitor picks up their code and makes a two per cent enhancement, they can’t lock up the code.
“The GPL prevents that sort of thing from happening,” Witham said.
As with proprietary software, the code is closely monitored to ensure that these types of licences are being adhered to. According to Witham, much of this monitoring process is handled at the grassroots level, with developers working with software in their off time.
“Programmers are like people working in the auto industry who have cars in their garages that they are taking apart and tinkering with. Many developers work at their jobs during the day and come home and tinker with open source. They are the ones that monitor the licences and keep people honest,” he said. “There are a lot of eyes on the lookout.”
Witham also noted that people who contribute substantial amounts of work into code keep a close eye on similar releases to ensure that their licences aren’t being violated. Davis agreed, saying that the primary means of enforcement for the licensing is community pressure, although the Free Software Foundation does oversee licence enforcement.
According to Davis, few violators ever make it as far as the courtroom because most developers realize that infringing generates negative press within the programming community.
“That kind of pressure usually forces people to honour agreements,” Davis said.