2015 Dev-Jam: Day Four

Since I sincerely doubt even my loyal readers get to the bottom of my long posts, I figured I’d start this one with the group picture:

Dev-Jam Group Picture

That antenna behind Goldy’s head is part of Jonathan’s project to use OpenNMS to collect and aggregate FunCube data from around the world. Can I get an “Internet of Things“? (grin)

There is this myth that just by making your software open source, thousands of qualified developers will give up their spare time to work on your project. While there are certainly projects with lots of developers, I am humbled by the fact that we have 30-40 hard core people involved with OpenNMS.

Unless you’ve gone through this, it is hard to understand. At one time, OpenNMS was pretty much me in my attic and an IRC channel. Luckily for the project that didn’t last long. My one true talent is getting amazing people to work with me. Then all I have to do is create an environment where they can be awesome.

It’s why I love Dev-Jam.

I also love pizza. Chris at Papa Johns was kind enough to send us some free pie for dinner:

Dev-Jam Pizza

Today we spent time talking about documentation. Documentation tends to be the weak point of a lot of software, and open source software in particular. The Arch Linux people do about the best job I’ve seen, but even then it is hard to keep everything current. For over a year now a group of people has been working very hard to improve the documentation for OpenNMS, and the new documentation site is most excellent.

It does take a little time to understand the navigation. The documentation is included in the source and managed on GitHub, so there is a new version for each release. But just as an example, check out the Administrator’s Guide for 16.0.2.

Written in AsciiDoc, it is now the best place for accurate information on how to use the software. We also want to extend a special thanks to the Atom project for creating the editor used to create it.

One of the things we discussed was how to deal with the wiki and the .org website. It’s not practical to duplicate the AsciiDoc information on the wiki, so the plan is to include the relevant part from the documentation in something like an iframe and use the wiki more for user stories. The “talk” page can then be used for suggestions on improving the documentation, and once those suggestions are merged they can be removed.

I had suggested that we make the wiki page the default landing page for the .org site, but Markus pointed out that we need to do a better job of marketing OpenNMS, and the landing page should be more about “why to use OpenNMS” versus “how”. I had to agree, as we need to do a better job of marketing the software. My friend Waleed pointed out in Twitter this weakness:

Twitter Comment 1 from Waleed

Twitter Comment 2 from Waleed

To better educate folks about why OpenNMS is so amazing, we are considering merging the .com and .org sites and using the .com WordPress instance for the “why you should use OpenNMS” with a very obvious link to the wiki so people can learn how to use OpenNMS. Part of me has always wanted to keep the project and commercial aspects of OpenNMS separate, but it then becomes really hard to maintain both sites.

In case you haven’t guessed, we do spend a lot of time thinking about stuff like this. (grin)

Dev-Jam Thursday

A lot of other cool stuff got done on Thursday. DJ announced that he had separated out the unit tests in OpenNMS (for features) from the integration tests (for regression). OpenNMS has nearly 7,000 junit tests (and growing). It’s the main way we insure that nothing breaks as we work to add new things to the software. But with so many tests it can take a real long time to see if your commit worked or not. This should make things easier for the developers.

It’s hard to believe that Dev-Jam is almost over. Luckily, it sets the stage for the next year’s worth of work. Since our goal is nothing less than making OpenNMS the de facto network management platform of choice, there is a lot of work to be done.