I can recall the low beam of light from a CRT monitor that was hooked up to a 333MHz Intel Pentium II computer that provided just the right amount of hum from its tower to compliment the loud clicks I was orchestrating from my cheap IBM keyboard. I was sitting on an equally cheap, metal folding chair positioned perfectly in front of a card table that hosted the monitor. That was the scene as I made my first open source contribution, using Slackware 3.x.
Today, I can replay all the different ways open source software shaped my professional career and the vision and value systems we hold here as we reinvent and reintroduce GForge. Admittedly, many familiar with GForge know it more from its roots at SourceForge.net and its impact on open source software back in the 1990s. A lot has changed and open source software has continued to thrive beyond its original, organic roots to claim a rightful place in organizations of all sizes.
There is no industry immune from the influence of open source software. Cloud computing, DevOps, fintech, medicine, banking and governments at all levels are deploying some level of open source software but what gets lost in the fray is their true relationship with open source software. There could be more, but I see three distinct relationships an organization can have with open source software.
Consumers – These organizations simply consume open source software. This could be viewed negatively but having led an open source project I can attest that there is a tremendous amount of pride seeing people use software you helped build.
Contributors – While they also consume, these organizations also make contributions back to open source projects in the form of bug reports and possibly small patches. Finding bugs is hard work that open source projects appreciate and nothing feels better when someone using code you helped build finds and submits the fix.
Collaborators – The organizations I respect most not only contribute but they actively collaborate on open source software. These are the organizations that understand that OSS is more than just source code, they are communities with vision that sustain real, long-standing relationships that cross industries, geography, religion, politics and socio-economics. I can’t begin to enumerate the number of great people that have influenced me professionally and personally as a result of open source collaboration.
GForge and OSS
Ok, I can hear you asking “Where is this going and why write all this when GForge is a commercial offering?” As an organization GForge sits in that “Contributors” relationship with open source. While that’s not bad, we do have aspirations to improve our relationship and we have chosen to apply the principles we’ve learned from open source in how we engage in business. Specifically:
You get our source code – While GForge is a commercial product we ship the source code for our entire codebase minus the bits that do the license key checking. Also, GForge is free for up to 5 users and is free to open source organizations.
We value transparency – Providing our source code can be viewed as a risk but for our customers it allows them to do a deeper inspection of our features, code quality and they can perform their own, independent security audits.
Security vulnerabilities are good – Sadly, my name is associated with some pretty nasty vulnerabilities and there are only four appropriate things to do when that happens: 1) swallow your pride 2) thank and give the reporter official credit 3) find, fix and announce the vulnerability quickly 4) learn from the mistake.
Better customer relationships – We make it possible for customers to access our codebase via Git. This not only makes customizations possible it makes those changes maintainable over time while still take advantage of our new features and bug fixes.
Avoid vendor lock-in – We are a vendor so you probably think vendor lock-in is good, right? I’ve been on both sides of this table and by providing our source code, by using an open source database (PostreSQL) and providing a slick REST-ful API we are conveying to our customers and prospects that we know they have choices and our open approach is the foundation for the relationships we build with our customers.
GForge Going Forward
Last month we reintroduced GForge with our first release of what we dubbed “GForge Next”. Our goal was to make GForge Comprehensive, Simple and Elegant by paying down over a decade of technical debt that positions us to focus innovation. GForge has a long history with open source software that we plan to expand on and if the above values resonate with you, we invite you to explore what we’ve learned in 20 years of helping teams Build Better Software.
Just a little over a month ago we ushered a completely revamped GForge platform dubbed GForgeNext and today we are happy to announce the release of v18.1. Please remember we have changed our version numbering to reflect the year and the number of the release. Since this is the second release of 2018 this version coincides to v18.1 which should help customers quickly know how many versions behind they may be.
The biggest change in 18.1 is the addition of SVN commit hooks. This means that all customers using both Git and SVN can safely upgrade to this version. For our remaining customers still using CVS we will be adding that support in v19.0 due out the first quarter of next year.
We are still encouraging customers to reach out to us for a free consultation on the planning and upgrade process. If we don’t hear form you we will be reaching out to all our customers over the coming week.
Yes, it’s been a long time coming and nobody is happier than we are to formally announce the release of GForgeNext!
For those new to GForge, GForgeNext gives you all the tools you need to build and collaborate on software. In keeping with our motto of making collaboration Simple, Comprehensive and Elegant – GForgeNext leverages Docker so it installs in seconds, includes all the tools you need to build better software and it all comes with a user experience you will enjoy! For those not interested in running their own instance of GForge, you can opt for our new SaaS offering!
For existing customers this release is significant because GForgeNext is as different as it is similar to GForge AS. You still get all the features of GForge AS but everything has been rethought and redesigned. In order to upgrade to GForgeNext, existing customers will have to upgrade to GForge AS v6.4.4 and then the upgrade will handle the rest! To help we have put together a few resources:
Beginning immediately we are encouraging customers to reach out to us for a free consultation on the planning and upgrade process. If we don’t hear form you we will be reaching out to all our customers over the coming week.
Today we are happy to announce the immediate availability of GForge Advanced Server v6.4.3. Other than being a bug fix release, this will likely be our last update to the 6.x series as we intend to ship GForgeNEXT later this year.
Important note: For anyone using GForge under the default license, which lets you run GForge AS free with up to 15 users without support, this number has been reduced to 5 users. Contact us at email@example.com if you have any questions about this change.
Docman – Prior to this release, when browsing files in docman the link to the file pointed to the last version which had the version hardcoded as part of the URL. We now have use a URL that removes this hardcoded reference which means if you share the URL to the current version you will always get the latest version regardless of how many new versions have been added. You can still access the direct link to old version through the right-click menu.
Project Export/Import – There were a number of issues preventing the export of a project from being imported into another GForge instance. You can now port projects between GForge instances provided both are running 6.4.3.
Licensing – Site administrators will receive warnings when they are approaching the maximum number of users allowed on their license. Additionally we have given site administrators the ability to deactivate users in the event the hit that limit. Prior to this release when the system exceeded the maximum number of licensed use the system would give all users an error message.
The Gory Details
GForge v6.4.3 includes a number of bug fixes and security updates. For the full details of this release, please have a look at the Complete GForge v6.4.3 ChangeLog
The biggest development this past week is work on GForge AS v6.4.3 has started and we anticipate having it available for current customers by the end of this year. Obviously we’ll continue work on GForgeNEXT which is accurately reflected in the highlight from last week below:
Git Server Side Merges – Right now server side merges work between any two branches except when the destination branch is master. Turns out the is a bug with Git itself and we already have a patch from the Git development team and we’ll continue testing that out.
Continuous Integration – We’ve begun designing the mocks required for building a Continuous Integration dashboard for all GForgeNEXT projects using Jenkins. This will complete our vision of making the integration between GForgeNEXT and CI systems tighter which reflects how integral they are to software teams.
GForgeNEXT iOS – The first view for the GForgeNEXT iOS app has been stubbed out and work will continue over the coming months.
Dependency Management – When a ticket has predecessors (i.e. blocking dependents) when those tickets are taken care of GForgeNEXT will notify the assignee and submitter of the ticket that work can begin on that ticket. Those notifications will happen with growls which are also sent via push notifications via Adroid/iOS application. This is a big step towards helping PMs and project leads with automated dependency management.
Improved Link Handling in Docman – Currently in 6.4.2 and prior the links to documents in docman explicitly ping to the most current version (i.e. version 7). The problem is if you email that or include it in a ticket or wiki entry that version may eventually be replaced with newer ones. We’ve made it so the links in docman will always give users the most current version. Don’t worry you can still explicitly send the link to a specific version of a file if you want.
A handful of bug fixes for v6.4.3 are being actively worked on.
Beginning this month our team will be giving weekly updates on the GForgeNEXT development. This won’t be the painful details just the good stuff boiled down to a few talking points. We should be clear that GForgeNEXT is in open beta at https://next.gforge.com so sign-up today! Before we give our first update we’d like to share what exactly where GForgeNEXT sits.
Teams – You can invite new or existing GForgeNEXT users to your projects. When you do so, you pick their role and once the invite accepted they can begin collaboration.
Tickets – plan and distribute work across your team. We honor existing workflow rules, however, administration of those rules doesn’t exist yet. Browsing and filtering of tickets works just fine. In short while some admin function do exist yet the ticketing system is working well for day-to-day use.
Stand-up Report – GForge provide each project with a stand-up report. See what each team member has accomplished, what they are working on and what they plan on working on.
Git Support – Browse branches, tags and commits through the UI (merges and merge requests are under development).
Continuous Integration – Our new Jenkins plugin uses the latest Jenkins release which will pave the road for new features. Right now the Jenkins plugin accurately reports build activity back to the GForgeNEXT project and this is fully tested and working. Future work will include building a CI dashboard in GForgeNEXT.
Android Support – Access chatroom and tickets all while getting push notifications while you are on the go. (iOS application is under development).
Language Support – GForgeNEXT will eventually support multiple languages. Right now we support Spanish and English and the language is set based on browser preferences which is nice for new users.
Update for 9/30/2016
Git – Server side merges is code complete and being tested internally. Once this is done we will move right into merge requests.
Notification Center – this feature is similar to what you see on social media sites like Facebook. This week we are adding additional formatting to notifications (date of notification and project it was generated from). The posts are also now navigable, taking the user to the proper artifact (i.e. ticket, chat, etc)
iOS App – Development began last week.
Responsive UI – We’ve been doing testing to ensure GForgeNEXT renders and functions properly using the small displays on mobile devices. The only area giving us problems was the mega-menu (the main way to navigate projects on the device)
Tickets – We’re making dependency management a key feature when working with tickets. The search API for tickets in GForgeNEXT had to be expended to make this possible and we’ve updated the interface to make this as slick as possible. We will be sure to call attention to any ticket you are viewing that has dependencies.
As always we welcome questions on any of the activity you see.
Last weekend we sponsored our second HackISU Hackathon in Ames, Iowa. HackISU is run, in part, by both Major League Hacking and HackISU, a student ran organization. The GForge Group sponsored a prize for “The Best Use of the GForgeNEXT API” and out of all the teams at this fall’s HackISU two demonstrated great projects!
Runner-up: GitHub Migration
The team of Gregory “Charlie” Steenhagen, Justin Wheeler, Nathan Karasch and Jonny Krysh were this semester’s runner-ups. At the end of the Hackathon they managed to migrate a single project out of GitHub including the Git repository and issues into a GForgeNEXT project.
Winners: GForgeNEXT Chat Commands
The winners for this semester: Mehul Shinde, Dig Vijay Kumar Yarlagadda, Chris Matthews and Brendan O’Conner implemented a way to execute user-created commands that could be ran in GForgeNEXT’s chat rooms. They demonstrated commands that searched StackOverflow, ran Google searches that both showed up in the GForgeNEXT chat room. They also managed to do simple tasks like create new tickets, update existing tickets and list users assigned to a project.
While both teams demonstrated great ideas our winners edged out the win two ways:
They exercised more of the GForgeNEXT API including use of the user, tracker, project and discussion resources.
GForgeNEXT’s Chat doesn’t implement a way for user’s executed homegrown scripts yet. This means the execution of any commands isn’t natively supported by our API and the workaround they came up to this limitation was fanastic. Their engine would poll a given chat room looking for commands (beginning with “/”) and if the command existed it would execute the associated script. The amount of problem solving that went into dealing with this limitation was impressive.
Overall this semester’s HackISU event was the best we’ve been a part of and we look forward being a part of future event’s. We’ll conclude with the photo below of our winners who all earned $750 each: