Negative to Positive: Interview with Mayan Developer Roberto Rosario

The free and open source software community operates on a very simple principle: obey the license which the software is released under. But what happens when the rules of engagement set down in FOSS licenses like the GNU GPL are ignored? What do you do if a rival developer or company takes your code and doesn’t pass on the freedoms afforded by your original license?

This is a fear that every FOSS developer has had at one point or another, and it only gets stronger as your project gains momentum and grows. It’s something that has kept untold lines of code closed up; arguably the biggest argument against opening up the source of a particular piece of software.

But what’s the reality? Will unscrupulous developers steal open source code for their own gains, and if they do, will there be anything you can do about it? Should FOSS developers live in constant fear of a license violation they will be powerless to stop?

Roberto Rosario, FOSS developer and Director of Software Development for the government of Puerto Rico, was able to turn a serious GPL violation against his most popular project into a lucrative enterprise. While every case will certainly be different, and there are unfortunately no guarantees in this world, Roberto’s case is an excellent example of how a FOSS developer can intelligently and professionally approach a license violation, and end up coming out of the situation better than they were going in.

Early Days

The Powerbase: Roberto, thanks for taking the time to talk with us. To start, can you tell our readers a little bit about yourself and your background?

Roberto Rosario

Roberto: I’m a Free Software and Open Source advocate and developer hopelessly in love with Python. On the professional side, I’m currently working as Director of Software Development for the government of Puerto Rico. I’m an innate hacker, breaking toys since I was a little kid to learn how they worked and deriving passion for learning from an early age. My history with IT started at the age of 10 with my first computer, a TRS-80 Color Computer 2. Out of necessity for a Fermat prime math fair project I learned assembler for its CPU and wrote a program to raise 2 to the 2048th power in assembler on a 4Mhz computer. This gave me a glimpse of a world I would never want to leave again.

The Powerbase: When did you become interested in free and open source software?

Roberto: I fell in love with FOSS in 1997 after reading about Linux, Debian and Richard Stallman and this whole mentality about giving users and developers the control and flexibility I have been looking for 10 years, after the home computer segment in the 80’s died along with their hacking potential.

Mayan EDMS

The Powerbase: Your most popular open source project, Mayan, is what’s known as an “electronic document management system” (EDMS). What exactly is an EDMS? What kind of things can you do with Mayan?

Roberto: Electronic document management systems allow you to handle all your documents in an electronic manner. Think of it as an physical archive but with cataloging, versioning, interlinking and multimedia capabilities. Document management is a big field and there is overlap (with the boundaries sometimes disappearing) with other fields such as Content Management (CMS) and Record Management (RM).

Just like the DMS sector, Mayan capabilities have evolved and is sometimes used in places where it is not common to find a DMS software. For example, it is used by photographers to store and catalog and tag photos and videos because it is file format agnostic. Medical clinics use it to store patient records as well as pharmacological information of medicines and link both based on patient prescriptions. Permit management agencies use it to store permit registration forms, blueprints, legal document and tie them together using Mayan’s automatic indexing features which preservers the contextual meaning of the documents’ relationships without human intervention. Engineers use it to store their blueprints and examine how they evolve based on their revisions using the version control feature. Lawyers use for legal reference archives and thanks to its automatic OCR and full text search capabilities, helps them easily find any legal document. Finally non profits love it because as a visualization platform there is no need to have client software installed to view the documents, which save a lot of money in software licenses.

The Powerbase: On your blog you recently showed Mayan running on the Raspberry Pi embedded computer. It seems like Mayan running on cheap and energy efficient hardware like the Raspberry Pi could open up many possibilities, such as improving the ability to maintain medical records in impoverished parts of the world. How does it feel to know that Mayan may end up having such a positive impact on a global scale? Did you ever imagine the project would come this far?

Roberto: Trying to get Mayan running on the Raspberry Pi was done initially just for fun, to my amazement it ran much better than expected and it became immediately obvious that something useful might come from this exercise, but no concise ideas came to me at the moment so I just published a blog post with my findings. Again being public with everything showed its advantage once again and hours after posting the article the ideas started flowing in from all over the world. The main theme as you mentioned was cheap, accessible document management capabilities to impoverished areas of the world, but one particular idea struck me to the core. It was the idea that Mayan on a Raspberry Pi, in a rugged enclosure with a battery, a solar panel and a an off-the-shelves wireless router could provide all the infrastructure necessary to provide on-site, auto-sufficient, document management services during emergency situation such as the 2010 Haiti earthquake. Hospitals and morgues were overwhelmed with tens of thousands of bodies and these had to be buried in mass graves without identification because communications, information and electricity services collapse on their entirety, this left no hopes for their relatives to know who was or wasn’t deceased. A portable DMS solution such as the one suggested could have helped a lot in this situation or at least help provide closure to the thousands of families affected… I don’t think anybody is emotionally prepared for such a realization. I haven’t heard of anybody working on this, so it is something I would most probable tackle personally in the future.

I could have never imagined that a side project to help a government agency could have global repercussions. I wouldn’t say it a single feeling, but a progression of emotions and rationales. At first is feels good to be known for your work, it appeals to your ego. As your project continues to grow, you get a little nervous, with the uncontrollable rise in exposure there is fear of judgement and that you or your project are not “good enough”, that maybe the exposure is undeserved. With the new exposure you get an overwhelming rush of communications, email and solicitations of every kind leading you to just want to disappear and leave the project behind. Eventually you assimilate the exposure and notice people except you to start making choices, take decisions and be vocal about your thoughts and opinions, the project matures and so does you. Finally every prior feeling diminishes and you realize, you, a single person in a corner of the world can actually think of, design, create and nurture something that is helping thousand of people around the world and wake up every single day wanting to do it all over again.

The Powerbase:Looking through the commits on GitHub, it’s obvious you personally do most of the development on Mayan. Have you had much help from other developers, or do you consider this to be a one-man project?

Roberto: In terms of software, I have done the majority of it but a project is not only about writing software I get a lot of help from developers and users in areas of testing, bug tracking, ideas, implementations, deployment strategies, documentation, translations, web site design and even project management itself. Without the community’s help it wouldn’t be anywhere near where it is today.

Open Source in Puerto Rico

The Powerbase: The government of Puerto Rico has put a lot of faith in Mayan, at last count storing over 20,000 documents in the system. What is the general feeling on open source software in the government? Was there any opposition to using Maya instead of a proprietary system?

Roberto: Mayan, the government of Puerto Rico and FOSS, all in the same question… Sit comfortably and get ready for the answer

The government’s reliance on Mayan initially came out of a desperate situation, a public “Faux pas” if you will. The government of Puerto Rico was until recently very adamant towards Open Source in general. Mayan was actually born to help out the government when in 2010 the entire permit systems was re-engineered (legally, procedurally and technologically). One of the big changes was the elimination of paper on every step of the permit procurement procedure (registration, evaluation and dispatch). A key aspect forgotten during the re-engineering was document management and soon after we found ourselves buried under digital mountains of unmarked, uncategorised PDFs files.

At the time I had been working for 11 years in the Permit and Regulations Administration Agency as an IT manager and being a FOSS pioneer in the island, management had given me extra official permission to work with FOSS software in the government, so in that sense my IT department was the FOSS SkunkWorks of the government. Noticing these things I realized I was in the one in the best position to help with the problem and after trying out the few FOSS document management software available at the time decided to build my own tailored made for the agency. Since FOSS software development was something alien for the government I had to do all the development in my spare time, which in retrospect was the best thing that could have happened since it gave me total control of the project, and allowed me to released it as GPL software. With the feedback of the global users the software matured, grew in size and features and soon after the document nightmare was just a faint memory.

Was there any opposition to using Mayan instead of a proprietary system? At first no, because nobody wanted to tackle such a big problem. After word spread of this FOSS achievement in the permit agency, upper management was awestruck and adopted the FOSS faith across the board, only to have local software companies divert it using “Open Source” as a marketing strategy and doing many attempts to replace Mayan and my other FOSS government projects used in production with other commercial “Open Source” software. This caused and unprecedented and unguided expenditure of budget in IT projects.

All is not grim… 3 years later elections passed, people changed seats and the new Chief Information Officer has named me Director of Software Development of the government of Puerto Rico to help improve and balance the software ecosystem of the island using FOSS when it is the best fit and closed software where it is not. Mayan is now public policy and is being installed in various government agencies including the Governor’s palace as part of the Digital Mailroom project, if the project succeeds, eventually the Governor of Puerto Rico will be reading his mail from a FOSS project. An example of how far FOSS can reach if properly managed.

What is the general feeling on open source software in the government? The government’s attitude toward Open Source software and even open data has changed dramatically, so in that sense the story of Open Source in the government of Puerto Rico is actually being written now, at this very moment, and I like what is being written.

Tom is a Network Engineer with focus on GNU/Linux and open source software. He is a frequent submitter to "2600", and maintains a personal site of his projects and areas of research at: www.digifail.com .