The Perpetual Beta – SourceForge

The Perpetual Beta - SourceForge

Overview

Founded in 1999 (n.d.) SourceForge was one of the first hosted solutions providing a collaborative software development management system that incorporates version control through a web based interface. It is a fantastic example of a web application that makes use of the perpetual beta concept because of the irony behind it. SourceForge is a perpetual beta that allows other applications to be developed collaboratively that may or may not also use the perpetual beta as their development method.

SourceForge incorporates development tools into a social ecosystem targeted to software development, including sourcecode management systems Git, Subversion, Mercurial, Bazaar and CVS (n.d.). Collaboration and discussion tools provided include a wiki, task management tools, microblogging, blogging and rating systems, as well as many other tools (n.d.) useful in developing software collaboratively.

Comparison

The Perpetual Beta - SourceForgeSince the inception of SourceForge, there have been a number of other solutions become available from other providers including GitHub, Microsoft’s CodePlex, and Google Code, all offering similar services.

As mentioned earlier, SourceForge was first released in 1999 (n.d.). Subsequently, Google Code was released in 2005 (n.d.), Microsoft CodePlex soon after in 2006 (n.d.), and GitHub in 2008 (n.d.), putting SourceForge substantially ahead of these competitors in terms of time in the marketplace, however, this has not necessarily equated to them being the most popular platform today.

According to Wikipedia’s comparison of open source software hosting facilities, SourceForge offers the widest range of version control systems to cater to the widest amount of users, as well as having the most extensive feature set (n.d.), however, in 2009, Google Code was hosting over 250,000 projects compared to SourceForge’s 230,000 (2009). In comparison, CodePlex has only garnered 20,000 projects as of 2011 and GitHub hosts 2,095,066 projects at the time of writing. This shows that having the widest range of version control systems and being the longest in existence does not equate to being the most popular. When looking at the features available on each of these platforms, the most obvious difference besides version control system is code review functionality. Of these four systems, GitHub and Google Code are the only two that offer code review functionality (2011). This also lines up with the two systems that have become the most popular.

This makes sense as code reviews allow for more stability in software development by having code reviewed by other programmers, thus more stability in a perpetual beta.

In terms of how each of these systems are updated and maintained, the only one offering specific versions is Microsoft’s CodePlex, the other three do not have specific versions and operate entirely in a state of perpetual beta, as Google’s Alex Chitu describes it, “Nothing is static, everything is changing.” (2007). This includes documentation, in the case of all four systems, a wiki is used to maintain documentation and help information so that it can be updated constantly with each beta iteration of the system.  In the case of Microsoft’s CodePlex, even though version numbers are used, they are based on the year and date to indicate when it was last updated, at the time of writing, the current version is 2011.04.2617831.

Implications

The implication of a system like SourceForge that operates in a state of constant beta is that new updates are constantly happening, sometimes as small tests and sometimes as small updates, but because these updates are small and more frequent, they can be fixed quickly if there is a problem (Chitu, 2007), and usually do not require a large learning curve. It also means that new features can be given to users sooner and more often, as Chitu says, “you’re never bored” (2007), as something is always changing. In the case of SourceForge, as well as the other systems looked at, the user is not required to install any updates in order to access new features or improved functionality, it simply becomes available.

Due to the removal of the need to continually update the software at the user end, the user experience is improved and has the potential to attract customers from traditional systems that have infrequent update cycles and require user intervention to install updates. This has clearly attracted an enormous number of projects and developers from traditional systems but it’s obvious that the features provided alongside software development tools are vital to success.

Potential Legal and Ethical Issues

Licensing and code ownership are the two biggest issues in using a hosted solution such as SourceForge. SourceForge states in their terms of use that developers must agree to grant a perpetual license to Geeknet, the parent company that owns SourceForge under a license that is compliant with the Open Source Initiative’s open source definition and is certified as an OSI-Approved license. This includes both the code itself and associated content, such as project wiki content, documentation, and any other associated content hosted on SourceForge.

This means that Geeknet has the right to use the code and content hosted on their platform for anything they like within the terms of the OSI-Approved license chosen perpetually, or in other words, they have the rights to it forever and don’t have to pay a thing for it.

Future Directions

SourceForge are in the process of rebuilding many of their tools in a bid to bring some of the older functions into the future and streamline processes (2010). SourceForge is currently lagging behind two of their newer competitors, so it makes sense to address this. In my opinion, adding code review functionality would make a huge difference to SourceForge’s user base. This is the tool that is available in Google Code and GitHub that is not currently available in SourceForge, however these two, newer platforms have leaped ahead in user uptake despite having fewer overall features and less code revision control system choices. GitHub for example, the largest of the systems looked at only offers the Git revision control system, yet has had an enormous uptake since 2008. Incorporating code review functionality into SourceForge is the next logical step in order to continue growth and apply to the widest audience possible.

References

GitHub. (2011). GitHub. Retrieved May 11, 2011 from https://github.com/

Chitu, A. (2007). Perpetual beta. Retrieved May 11, 2011 from http://googlesystem.blogspot.com/2007/05/perpetual-beta.html

Leeschlesinger. (2010). Get ready for a whole new forge. Retrieved May 11, 2011 from http://sourceforge.net/blog/get-ready-for-a-whole-new-forge/

Rosenberg, J. (2009). The meaning of open. Retrieved May 11, 2011 from http://googleblog.blogspot.com/2009/12/meaning-of-open.html

Microsoft. (2011). About CodePlex. Retrieved May 11, 2011 from http://codeplex.codeplex.com/

SourceForge. (n.d.). Comprehensive service directory. Retrieved May 11, 2011 from http://sourceforge.net/apps/trac/sourceforge/wiki/Comprehensive%20service%20directory

SourceForge. (n.d.). Hosting with SourceForge. Retrieved May 11, 2011 from http://sourceforge.net/apps/trac/sourceforge/wiki

SourceForge. (n.d.). Terms of use. Retrieved May 11, 2011 from http://sourceforge.net/apps/trac/sitelegal/wiki/Terms_of_Use

SourceForge. (200). What is SourceForge.net? Retrieved May 11, 2011 from http://sourceforge.net/apps/trac/sourceforge/wiki/What%20is%20SourceForge.net?

Wikipedia. (n.d.). CodePlex. Retrieved May 11, 2011 from http://en.wikipedia.org/wiki/CodePlex

Wikipedia. (n.d.). Comparison of open source hosting facilities. Retrieved May 11, 2011 from http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities

Wikipedia. (n.d.). GitHub. Retrieved May 11, 2011 from http://en.wikipedia.org/wiki/GitHub

Wikipedia. (n.d.). Google Code. Retrieved May 11, 2011 from http://en.wikipedia.org/wiki/Google_Code

Wikipedia. (n.d.) SourceForge. Retrieved May 11, 2011 from http://en.wikipedia.org/wiki/SourceForge

Note: This blog post is part of a series of blog posts that form assessment item #2 for INB347 – Web 2.0 Applications.