Interview with JT Smith
Thanks to my roll as a DobbsCodeTalk blogger, I have the opportunity to speak with and interview many interesting people in our field. Last week I spoke with JT Smith, President of Plain Black Corporation (plainblack.com), about WebGUI - an open-source framework for building web applications. Overall, JT and I spoke about how open-source software needs an official software stack. By this, he means a set of open-source software packages that have been integrated, tested, and built to work together seamlessly. This can include popular packages such as Apache, MySQL, JBoss, Tomcat, and so on. Some vendors and organizations attempt to do this today, but JT's vision is for an independent community to support and maintain it.
At the least, JT sees the need for a meta-package system -- a piece of software that can convert software packages from one form to another. Going forward, he'd like to see the dependancy on packages to go away, and instead develop an installer that works on all major platforms. In the meantime, he teaches his clients how not to depend on specific packages, but to instead work with community experts to build their own bundles.
Plain Black and WebGUI
We also spoke about JT's company, Plain Black, and its flagship software, WebGUI (http://webgui.org), which is written in Perl (and only Perl). JT has been part of the open-source community for over 15 years (before it was even called open-source), and he's always working to raise awareness of how open-source benefits all parties involved. WebGUI's foundation is around content management, which is a major requirement for most active web sites, but also is used to build custom web applications. He boasts a large customer base, which includes large corporations, the government, non-profit organizations, churches, schools, and so on. PlainBlack's revenue is generated from training, hosting, and paid services around WebGUI.
In a sentence, WebGUI is an open-source alternative to packages such as Microsoft SharePoint. It began as a tool JT built to make his life as a web developer easier. Today, his company has grown to include dedicated full-time staff, and an army of consultants who share his vision. They maintain, to this day, a two-week release cycle where new features are added and bugs are fixed. After eight years of development at that pace, JT says his feature request list continues to grow with no end in sight - a tribute to the popularity of his open-source contribution. He sees WebGUI moving into eCommerce, which includes a portal site, and to someday become a platform for a future cloud-based OS.
JT's personal opinion is that the web is the OS of the future, and the cloud is where he's focused. He intends to build WebGUI into an infrastructure that's infinitely scalable, includes lots of GUI gadgets, and is cloud-independant. In other words, it won't be built specifically for an Amazon-based cloud, or a Sun-based cloud, and so on, but will work with all of them equally.
On the business side, JT and Plain Black hold to the philosophy that technology drives business, and its roll is growing every year. As WebGUI expands, Plain Black plans to provide services built on top of it that others can use. For instance, CMSMatrix is a site that's built on the generic Matrix framework (http://CMSMatrix.org). It allows you to research available CMS products. JT expects to see many other WebGUI-based services announced in the near future.
I personally have never had the chance to work with Perl, so I admittedly know very little about it. I used this opportunity to ask JT why he chose Perl as the language to implement WebGUI, and to extoll Perl's goodness. He told me that he's done Java development for a long time, and likes Java. But Java is large and a bit verbose. Perl, to him, is a more natural fit for the Internet since it's all about text. Text parsing and Internet development work well together, so Perl is very well suited in this area. Like Java, Perl benefits from a huge developer community, has a huge library of available modules publicly available, and is a cross-platform language. Because it's written in C, optimizations can be made for performance issues on most host platforms.
Overall I had a good conversation with JT; I learned a little about Perl; and I got the opportunity to write about another open-source success story where everyone wins: the open-source producers, and the open-source consumers.