|
SoftLanding Goes Open Source with TurnOverSVN
by Timothy Prickett Morgan
Subversion for OS/400 is not a new anti-iSeries marketing program from Microsoft, but rather an innovative open source add-on to SoftLanding Systems' TurnOver Change Management tools for managing the application development process at iSeries shops. Concurrent with the debut of the new TurnOver 5.4 release of its change management suite for RPG, COBOL, and other native OS/400 applications, SoftLanding is announcing it has ported an open source change management tool called Subversion to OS/400 for managing PC, Java, and Web applications.
Taking advantage of open source code is something that nearly everyone is interested in doing these days, whether it is software development companies like SoftLanding or commercial institutions that use OS/400 servers to run their core business applications. But the open source community is just that--a community--which means when a company like SoftLanding takes advantage of a product like Subversion to bring new functionality to the iSeries customer base, it is expected to give back to the community. In fact, if the five dozen open source software licenses have one thing in common, it is the idea that individuals or organizations that use and tweak open source have to give back those improvements to the community. And that is what SoftLanding has done with Subversion for OS/400.
For those of you who are unacquainted with open source development projects and how they are managed, perhaps a little history is in order before we get into the SoftLanding announcements concerning Subversion for OS/400, TurnOverSVN, and TurnOver 5.4.
One of the granddaddies of software version control is a program called Revision Control System (RCS), which was developed in the mid-1980s by Walter Tichy of Purdue University; he created it to keep track of code, documentation, and binary files associated with software development. RCS kept track of changes within each of those individual pieces, but did not havea project-level scope. Dick Grune, who was working on a C compiler in Holland, grabbed RCS (which was an open source program), made some improvements to it so he could work with fellow programmers on that C compiler, and released this program in June 1986 as the Concurrent Versions System, or CVS. In the late 1980s, programmers Brian Berliner and Jeff Polk made substantial improvements to CVS (in part to control development of SunOS, a predecessor to Sun Microsystems' Solaris Unix variant), and a decade later, Tony Hoyle lead a project that ported CVS to Windows NT from Unix so companies working on Windows applications could collaborate in their application development. This project is called CVSNT, and many of the improvements to CVS are made in CVSNT first and then backported to the Unix and Linux versions of CVS. If normal end users in the business world crab about the difficulties of using Windows, programmers working on open source or distributed software projects crab about the deficiencies of CVS. The great thing about the open source community is that if enough people are crabbing about something, a few intrepid people will start a new software project to fix an old piece of code, or scrap it and start over again. That is how the Subversion (SVN) version control system was born. Subversion 1.0 was created by programmers working at CollabNet and many community contributors. In February 2004 it was released under an Apache/BSD-style open source license.
Subversion was originally written in ANSI C and uses the Apache Portable Runtime library to run the server and client side of the program. Until a year ago, on Unix, Windows, MacOS X, OS/2, and BeOS servers, the code repository that underpins Subversion was based on the open source Berkeley DB database. Interestingly, Subversion stores all elements of a project in that database, which has a set of C APIs that simulate a file system. This is very smart, and this is what OS/400 used to do--more or less--when it could store all data in the DB2/400 database prior to the introduction of the Integrated File System in the mid-1990s inside OS/400. (The more things change, the more things remain the same.) Last year, Subversion was equipped with an alternative to Berkeley DB called the FSFS, which can store project elements in a flat file database. With Subversion for OS/400, SoftLanding is storing the project elements in this FSFS database on OS/400's IFS.
According to Paul Thiel, director of customer services at SoftLanding, the company had invested about a full man-year of development on the port of Subversion to OS/400; that work was done by Mark Phippard and Paul Burba. They used ILE C to compile Subversion and used FSFS in OS/400's IFS as its database repository. Subversion for OS/400 does not run in OS/400's PASE AIX runtime environment (presumably it could have), but is a true, native implementation of Subversion. Thiel says SoftLanding developer Steve Elsemore made substantial contributions to the Subclipse Eclipse client interfaces, which can be used for Subversion, and that the company as a whole has made contributions to the Windows interface for Subversion as well. All of the code SoftLanding developed to make Subversion for OS/400 is open source. While the Subversion for OS/400 project is going to be hosted by Tigris.org, the binaries for the tool will be distributed through SoftLanding's own Web site.
As is the case for many open source projects, SoftLanding has a free, open source version of Subversion for OS/400, as well as a variant that has commercial support, which in this case is called TurnOver SVN. Because of the rules of open source software, SoftLanding cannot charge a license fee for Subversion for OS/400 or TurnOverSVN, but it can and does charge a nominal fee of $200 per developer per year for the commercialized TurnOverSVN module. Thiel says the fee is really designed to cover tech support and packaged, tested releases of TurnOverSVN. And if you just want to use Subversion for OS/400 tool and not pay for TurnOverSVN support, SoftLanding is cool with that. The Subversion community offers support through Tigris.org, and SoftLanding's experts will be participating in a subset of that community devoted to the OS/400 version of Subversion.
Just because SoftLanding has ported SVN to OS/400, that does not mean customers who have CVS, SafeSource, Version Manager, or other version control tools will not be able to integrate them into the TurnOver Change Management suite. Thiel says SoftLanding is committed to being open in ways that go beyond using one particular open source program, and the company will continue to have this attitude. "If customers have no compelling reason to change their version control systems, we see no reason for them to change," says Thiel.
While Subversion for OS/400 can be used to control non-OS/400 projects and the code used to create them, what Subversion cannot do is control source and library files for RPG, COBOL, and other OS/400-based programs. There are several reasons why SoftLanding has grabbed Subversion and ported it to OS/400, and one of them is to help drive sales of its iSeries-based TurnOver tools, which are not free and which are not open source. SoftLanding recognizes that iSeries shops want one tool to manage all of their development projects and, being iSeries-centric, they want the security and comfort that comes from storing all of their code repositories and access to that code inside DB2/400. Porting Subversion to OS/400 and integrating it with TurnOver through the TurnOverSVN module accomplishes this, and for a negligible fee for the more than 1,200 customers worldwide that SoftLanding has for that iSeries development tool.
By doing the OS/400 port of Subversion as an open source program, SoftLanding is now tightly hooked into a much larger Subversion community and will very likely create a potential customer base for TurnOver that is many times larger than the current installed base. That potential customer base consists of the thousands of companies worldwide that will download the open source Subversion for OS/400 and use it to manage their PC, Java, and Web development projects. And when they want to create a single version control system and code repository on their iSeries, customers using Subversion for OS/400 are probably going to think very hard about using the full commercial version of TurnOver Change Management. That is the bet SoftLanding is making, anyway--and it is a good bet. "We expect to be extraordinarily competitive," says Amy Lantz, director of marketing at SoftLanding.
To make use of TurnOverSVN, customers will have to upgrade to the new TurnOver 5.4 release. This upgrade is free to any TurnOver customers who have maintenance contracts with SoftLanding. In addition to the support for the TurnOverSVN module, TurnOver 5.4 has some other goodies. One particularly interesting feature is a new administrator module based on the open source Eclipse integrated development environment framework that includes an XML-based auditing tool. This auditing tool has three additional benefits: TurnOver 5.4 can now apply change management rules to the definitions of an application'scode elements, which means you can submit a new application definition or revert to an old one if something goes awry. Moreover, because the relationships among applications are represented graphically, it is now easier to train new developers on the application suite a company uses,because they can see the relationships between application components at a high level and then drill down to explore them further. Finally, should programmers somehow discombobulate their application definitions, they can grab the XML document and export it as a JPG or XML file and email it to SoftLanding's techies, and they can help them debug those definitions. TurnOver 5.4 also includes some auditing features driven by Sarbanes-Oxley compliance, improved issue tracking, and more API support than TurnOver 5.3. TurnOverSVN ships with the upgrade to TurnOver 5.4, but customers do not have to activate it.
May TurnOverSVN be the first of many, many C, PHP, and other open source programs that make their way to OS/400. We could use a truly vibrant community of open source RPG applications, too.
This article has been corrected since it was first published. While it was true that until a year ago, the only code repository available for Subversion was based on the open source Berkeley DB database, in 2004, Subversion 1.1 introduced a new repository option that stores data in ordinary flat files using a custom format. It was the introduction of this new repository option, commonly known as FSFS, that paved the way for SoftLanding's port of Subversion to the OS/400 platform. With Subversion for OS/400, the source repository resides in the IFS using the FSFS file format. IT Jungle regrets the error. [Correction made 4/17/05.]
|