The Open Road - The Business and Politics of Open Source by Matt Asay - CNET Blogs
To have a true community of social, communal applications, we need open source, open APIs, and open standards.
Hell yes, we couldn’t agree more! We’re not just nodding our heads and smiling, we’re actually doing this. MindTouch delivers: 100% open source, open standards, and the most robust open API in our space.
Open Source
Deki Wiki (gpl2), Dream (lgpl2), Deki Wiki Desktop Connector (gpl2), Xihna HTML Editor fork (BSD), and the Deki Wiki Microsoft Outlook Connector soon to be re-released (gpl2).
Open Standards
We store in XHTML. Sorry, no wikitext. Actually, you can use wikitext for some things, but we convert to valid XHTML on save. Wikitext is non-standard and it simply does not make any sense. When it becomes as useful as HTML/CSS it will be HTML/CSS, but something crappier and different. No offense intended. Also, it makes no sense to build on wikitext editors because you’re lessening your positive impact to the software ecosystem. Instead we’ve devoted an enormous amount of time to building a fantastic web-based HTML editor that we’ve maintained under the original BSD license (no we weren’t obliged to do this).
RESTful design. Unlike others who claim RESTful design because they bolt on a couple REST-Based API methods I’m confident in claiming that we’re one of the strongest adherents to this design pattern. MindTouch consists of card carrying RESTafarians. Don’t believe me? Look at the Deki Wiki API. You’ll find it’s all standard HTTP verbs and the entire platform is built on this. Every resource has a human and machine readable URL and Deki Wiki is stateless. API output is JSON, XML, and Serialized PHP.
Now, my buddy Schepers at the W3C recently gave me some grief about id attributes, which we’ll need to look into, but take a look at the markup for our interface: it is tableless and semantically rigorous.
Open APIs
Deki Wiki’s API has 99 methods each with documentation and code samples.
Open source, open standards, and open APIs have powered all Internet booms. Everyone benefits from sharing. How could MindTouch have been successful if we hadn’t had Linux, MySQL, Mono, PHP, Mediawiki, and dozens of other libraries to build on? Sharing is not just a morale issue. It’s about good engineering and it makes great business sense. Open source allows you to spend your money on engineering rather than wasting a disproportional amount on sales and marketing. I can explain this more in another post. Standards should be open and followed because it allows you to easily interop, integrate, and extend. APIs should be open and REST based because it makes it easy to build on and when people build cool stuff on your platform you will benefit. "Free knowledge" and "Sharing is good" isn’t just a slogan we wave often at MindTouch, it’s an internal mantra.
I was recently asked by a competitor who licenses only portions of their software under the new badgeware license he pioneered what has MindTouch "given back". He really disdains us and, hey, I do push his buttons.
My answer was: Well gee, 100% of the code we’ve written in developing Deki Wiki, some desktop utilities we’ve developed, an amazing API with which anyone can build on, it will be lots easier once we launch our shared hosted service, and we’ve provided countless bug reports and code patches to other projects like MySQL, SGMLreader, and Mono. Oh and of course, one of my personal favorites is that we are a host of the Free Software Sticker Book
MindTouch doesn’t just mouth the "openness" party line. We live, breath, and will win by it. Deki Wiki is now the most popular vendor supported wiki engine. I believe we’re now also the second most popular wiki of any kind, second to Mediawiki (powers Wikipedia). These claims are evidenced by our downloads and our rate of adoption. Why? Certainly, we’re bringing a significant amount of value to our users; so much so that many hundreds are active in the development of MindTouch’s products. But it’s also about MindTouch believing and contributing to a culture of "openness", listening to our community, and adhering to standards. Adhering to standards not just to prevent data lock-in to our platform, but to help people out of data lock-in created by other applications or platforms.
Increasingly the most successful software companies (maybe even hardware companies, I hope) will be those who deliver value around open source, open standards, and open APIs.
Great post Matt.