What happens after open sourcing? Do people from elsewhere actually show up, to ask questions, find bugs, and help out?
Six weeks ago, the Federal IT Dashboard was open-sourced. We assisted in that release (see our post) because we strongly believe that open collaboration is the natural path for government software, and because the IT Dashboard in particular was a good candidate for building the kind of multi-jurisdictional community that improves the software while minimizing costs for each participant.
All fine in theory — but does it work in practice?
At the time of the release, we made a note to check back later and see. Six weeks is probably the earliest reasonable moment to take a peek. Below is a brief tour through the nascent IT Dashboard community as it looks today. Of course, there is no guarantee that another project would look the same after the same amount of time, but the patterns we see here are not unexpected.
Note that this overview comes entirely from publicly accessible sources: the mailing lists and forums of the IT Dashboard project. There are jurisdictions privately testing the IT Dashboard that haven’t participated in a public way yet. I’ve left them out of the picture for now; what we’re examining here is what the publicly-visible community looks like.
Some of the participants are identified by full name, others by first name (in some cases the full name isn’t available, in others it’s not important to the overview anyway). This isn’t a complete picture, nor is it in chronological order — I’ve chosen the examples to show that certain kinds of collaboration are happening.
Installation and documentation improvements. Volker notices several problems with the documented install process. James answers him, pointing out that he’s submitted a code change (here) fixing one of the problems Volker encountered.
Neither of these people is affiliated with the core maintainer group — this is users helping users!
Later Mark follows up mentioning he has had some of the same problems. James asks him for some more details, which Mark supplies, along with describing the progress he’s made since his last post and how close he is to getting it working now.
Mark takes a very humble attitude (“I’m thinking I am simply missing something in the settings.php now. Sorry to be such a newb!”), but in his next followup he has partial victory: “OK, I am very close now. I actually have the site up and running. There was a problem with my database connection strings in the settings.php. I had to test my accounts and database connectivity using the MySQL console in order to find the problem. I have some broken links to sort out and will continue to work through the problems one by one.”
Improving deployment on shared hosting. Qwer (a pseudonym) posts with some basic questions, wisely making her or his level of expertise clear from the outset: “Can someone please provide instructions on how to install the solution on a shared web server? … I am a newbie to Drupal and looking for help/directions. Thank you in advance !!”
Sasirekha Murthy (who works for REI Systems, the contractor that maintains the core code) gives a terrific response, pointing the asker to another public resource that might help, and — most importantly — inviting them to give it a try and report back, so that the Dashboard’s shared-host installation experience can be improved for everyone:
“Unfortunately, we do not have enough experience working with any particular shared hosting environment. However, we expect the code to work similar to core Drupal in this regard. If you are willing to try and follow our instructions and possibly refer to the Drupal instructions on shared hosting (http://drupal.org/node/1068894), we can work together to resolve any issues that you may encounter.”
Full conversation here.
Improved documentation of process for contributing code. Jose Mendez posts, pointing out the wiki page with instructions on how to contribute code, and mentioning the Contributor License Agreement (CLA) that code contributors will be asked to sign so the government will know it has the right to use the contributions. This is a good sign: when you’re the government, or working on the government’s behalf, it’s best to dot all the i’s and cross all the t’s (but really all open source projects should have a CLA process).
Data about Windows deployments. KH wants to install it on Windows. As Gaurav Mullick (of REI) follows up to request more details about the problem, another user, William, jumps in to say he’s trying to install on Windows too. Two more REI developers then jump into the thread. Conversation here.
Is this a sign that there’s demand for running the IT Dashboard on Windows servers? (The IT Dashboard was designed to run in Drupal on Linux.) It could be; too early to tell for sure.
Improved documentation for loading test data. Troy says he got the IT Dashboard “installed on my local machine for testing with no issues”, but then ran into a problem loading some test data. Jose Mendez (REI) follows up with an answer to the question, and furthermore says the documentation “has been updated to clarify this step and should be available shortly”. (Later Tonioman follows up in the same conversation with an unrelated question, and Jose suggests a possible solution.) Full conversation here.
San Francisco trying out the IT Dashboard. Dave Geller of the City and County of San Francisco: “Greetings community, I am installed and customized the site for my city. Now I am looking to customize the agencies and am trying to figure out how to add projects etc to the system. I looked through the documentation however it is not obvious to me how to accomplish these tasks. Does anyone have some pointers? Thanks, — Dave Geller Business Analyst The Innovation Office – Dept. of Technology City & County of San Francisco”. He gets useful responses right away.
Common problem solved through group collaboration. Eric encountered a problem that plagues many web applications. I won’t go into the details here — if “root-versus-relative path” doesn’t mean anything to you, that’s okay; the technical details are not the point. Aaron Ellison (of REI) followed up promptly pointing out a good long-term fix, but one that would have been a lot of work to apply throughout the code. Then Amit Deshmukh (also of REI) responds outlining a faster workaround, and… David Geller (of San Francisco! Remember him?) follows up saying he’s having the same problem and will try the workaround, in the interests of time. After a brief hitch, he gets it working.
Again, it’s the multi-party and anticipatory nature of the collaboration that we were hoping to see. Any one of these jurisdictions could have been stuck on a given problem by themselves for a while, but by seeing the problems others are encountering, they get answers coming in before they even have to ask the question.
User request motivates potential new mobile client API documentation. Marty asks: “I see that the mobile client makes use of a Trends API to retrieve the dashboard data in JSON format. (link) Are there any plans to document this API so that other developers may make use of it?”
Jose’s response is great — he says they’ll consider doing it, but also invites others to contribute it instead of waiting: “Although documenting our use of the Trends API was not in our current roadmap, you do raise a valid point. We understand how providing this document may be useful to other developers. We will look into doing this for the future based on our bandwidth, but we are also open to contributions from the community to aid in this process.”
Later on, Marty did have a go at documenting the API.
That’s just a sample. There’s much more going on, including another user-submitted code change, questions and answers about documentation, data entry and authorization, data format descriptions, error messages, finding the database admin password, and more.
For six weeks after open sourcing, that’s not bad. Kudos to Vivek Kundra, the Federal CIO who decided to make the IT Dashboard open source, and especially to REI for doing all the right things to build a multi-jurisdictional community.
We’ll check back again in a few months!