Last year, GX implemented a new
development philosophy for our software development unit called
Open Development. To understand why we did this and what it means, let me provide
a little background.
One of the strong points of Open Source is the fact that everything is transparent. With Open Source, not only can you download the software in binary form for free, but you also have access to the source code itself which you can modify or add to. But it doesn't stop there. When Open Source started on the Internet, most development teams were virtual teams working geographically separated from each other. This 'requirement' for the process led to a development cycle where communication between all the team members was and is completely open. For most open source projects, everything is out in the open all of the time, for everyone to see, to use, and give feedback and comments on including bug tracking, email conversations, source code inspection, version control, continuous integration, nightly builds, alpha and beta releases, wiki's, documentation, etc.
If you compare this way of development with the 'old' way of developing software, it is quite a departure. The old way of developing software is very closed for the outside world: Everything is done in teams, the process is closed for non-team members, and the end-users receive the end result only, that being a full release of the software and documentation, without knowing exactly how the software was built, what known issues are still open, what features were dropped from the original list, how future work is progressing, etc.
GX calls the way of openly communicating all relevant information about its development process 'Open Development'. Open Development can be utilized without problems for closed source application development like the one used for GX WebManager. Last year we started to open up our development process showing it to all users of this website.
Why do we think this is a good thing? Here are a few reasons:What does Open Development mean in practice for us? Because we use the same software development tools internally as most Open Source projects do (like subversion, <L CODE="C02">Maven</L>, Jira, Bamboo, <L CODE="C07">viewSVN</L> etc) it's not difficult from a technical point of view. We do need to carefully check everything to ensure that no sensitive customer information is inadvertently made publicly available. We also need to reevaluate our R&D processes to see whether they fit well in an open environment – this means it will take a while before we have everything online.
Leon Rutten, our Development Manager, is working with his team to put everything online before the end of 2008. The most important piece of this process is Jira, our bug tracking system. The GX Jira system is already available on this website. Because we are still doing checks to ensure that no customer sensitive data appears in the public space, Jira is protected by username/password credentials. However, after freely registering, it's open to everyone. GX documentation is also openly available (no username/password required). We are currently working on putting online the various Continuous Integration tools we use, like Bamboo for example. It is already available internally at GX, but it will eventually be moved to GX DeveloperWeb (most likely by before the end of the year). Additionally, we are working on publishing nightly builds and alpha and beta releases as well as looking into putting R&D team member email communication online too.
With our Open Development strategy we are working on giving you, our customers, developers, partners, and other interested parties, transparency, higher quality and more options to provide feedback on new releases of GX WebManager; This will result in higher quality GX WebManager releases for you, our customers. A win-win situation for everyone.
As always, feel free to email/twitter/MSN/phone/skype me with feedback.
Martijn is chief technology officer of GX. Besides a visionairy leader of GX, Martijn participates in several international expert groups, among them the JSR-283.
Read all Martijns blog entries
Other blog entries: