Dave Johnson on open web technologies, social software and software development
It's time to catch up on blogging and I'm going to start by going through my backlog of links and adding some commentary, but not in this post; these are miscellaneous links that don't fit nicely into my other posts.
I asked for Google Summer of Code (GSOC) ideas for Roller a couple of days ago. Below are links to the proposals I thought were good enough to volunteer as possible mentor for and to submit. The deadline is tomorrow, so you've still got time to suggest additions to the list.
Here's the full list of Apache GSOC proposals.
Insightful and fun post from Apache board member Henri Yandell. Worth a read for folks trying to grow an open source community of contributors.
Henry Yandel: I continue to grapple with the concept of how to treat users of Open Source projects. Should you be cruel, or kind?
It sounds like a dumb question - rude hackers who rip users apart for daring to ask a question in a not perfect way are just arseholes who need to get off their high horse. Right?
Iâm not convinced. And Iâm someone who usually over worries about being polite. Mostly because the voice inside my head is, I suspect, the kind of stormtrooper who after the Death Star blows up for the second time, will be found out of uniform at the Rebel party selling little burgers of âforest meat - mind the blaster marks on the furâ. Read more...
SpringSource, the company behind the Spring Framework, has purchased Covalent, a company that provides support for Apache projects. This popped up on my radar because Covalent offers support contracts for Roller and in fact, SpringSource CEO Rod Johnson mentioned Roller specifically when talking about the deal (emphasis mine):
Rod Johnson: "We want to support the open source software that people want to use," including the Geronimo application server, the Axis Web Services Framework from Apache, and the Apache Roller Blog multi-user blogging software."
Sounds like a good thing and hopefully it will improve the support story for all Apache products. In fact, it could be a really good thing for Apache projects because Rod's philosophy is that you can't support software unless you are one of the software's creators.
Rod Johnson: "You can't divorce the process of maintaining software from the process of creating software...That's not the future of enterprise open source - unless open source has no future"
Based on that, we can assume that SpringSource will now be paying committers to do creative work on Roller and other Apache projects so that they can provide the best maintenance and support of those same projects. Right? Maybe I'm too naive -- after all, I figured having Roller in Lotus Connections meant IBM would be contributing.
I'm always happy to see Roller used in new sites, projects and products. Here's an interesting new example that I've been meaning to blog for a while now. Phillip Rhodes is working on building what he calls OpenQabal a "social software operating system." The project integrates a set of social software applications, including Roller and JavaBB, via Single Sign-On (SSO), a common look-and-feel and Semantically-Interlinked Online Communities (SIOC). He explains it all in an lengthy and informative blog post on the project's JRoller.com blog.
I'd never heard of SIOC before. Here's the executive summary:
Semantically-Interlinked Online Communities SIOC or is a framework aimed at connecting online community sites and internet-based discussions. Currently, online communities (boards, blogs, etc.) are like islands - they contain valuable information but are not well connected. SIOC allows us to interlink these sites, and enables the extraction of richer information from various discussion services.
Sounds like it could be pretty darn useful. But then again, I spent a little time exploring the list of SIOC enabled sites with the SIOC Firefox plugin and didn't really find any examples of interlinked communities or conversations. Am I missing something?
Here's a sampling of governance docs from some of Sun's many open source projects. I've listed them in order of what I feel to be, the most progressive (i.e. community governance) to least progressive (i.e. corporate control). I've also listed a key quote from each doc and made a brief comment about each.
Looks to me like the trend is towards community governance and the most important projects are the ones getting the most attention and the most progressive governance. That's good and I sincerely hope the trend continues.
I've got a couple of Roller related items to blog about, so why not just call it Roller Strong #11.
First, Lars Trieloff responds to some of the questions I raised about JCR and Roller in my ApacheCon wrap-up post. I left a comment on his blog in response. Personally, I think a JCR back-end is a very interesting idea and I wish I had some more time to explore it.
Manchi Leung AKA Thinkboy posted the code for a new Textile plugin to the Roller dev list, using Textile-J. Thinkboy says "it supports almost all of the Textile syntax. very much the same as Confluence wiki. Now I can easily sync or copy working notes from Confluence wiki to my personal Roller blog." Nice. Note to self: I need to fix up some of our existing entry plugins -- I think some of them (e.g. Ekit) still haven't been updated for Roller 3.1.
Arun Gupta blogged recently about Backing up your Roller entries and explained how to use the Grabber example (now known as BlogBackup in Blogapps 2) from the Blogapps project to backup your Roller blog. Backing-up your entries, but backing up your uploads is not. Hopefully, blogs.sun,com will turn on Atom protocol someday and that'll will make it easy for a tool like Grabber backup both entries and uploads.
We're still waiting on Roller 4.0, but I sense our wait is soon over. Roller 4.0 RC10 was released one week ago with just a couple of bug fixes. And so far, no critical issues have been found. We've got only one +1 vote (thanks Anil!) so far so committers please test and vote.
And finally, I have to mention MarkMail because I've been using it throughout this blog post. MarkMail provides a slick interface and excellent facilities for mailing lists of all kinds. They're indexing all of the Apache mailing lists and providing statis and charts for each. Check the Roller page at MarkMail for example.
That's all I've got for this go-round. Keep on rollin'
Adam Constabaris: A fundamental question for us in building this application was whether to use Tomcat and "soup it up" by using Spring to add services Tomcat doesn't provide itself, or whether to use a full Java EE container. We could have made it work with the servlet container approach, since our application isn't heavily "enterprisey" and we were initially reluctant to pay the complexity price of EJBs. After looking at the Java EE 5 specification, though, we saw a lot of ways we could simplify and standardize things, such as using JSF 1.2 and coding to the Java Persistence API rather than using Hiberrnate APIs directly.
Hey! I know that guy. Hi Adam.
Is there a trend towards full app servers and away from plain old Tomcat? Is it because of strong open source Java EE offerings from Sun, JBoss and Apache? I don't know, but I sure hope so.
And I mean that in the nicest way possible, i.e. the Codehaus way.
Bob McWhirter: Ultimately all open-source survives and grows based upon goodwill. Tending to the community is required, else you risk alienating your own users. I aim to use my experiences from a variety of open-source projects and communities to make sure the JBoss community is one of which Iâm proud to be a member.
Congrats Bob. Sounds like a great new job. This mean you'll be coming to Raleigh more often?
Matt Raible has been talking to folks at Sun (including me) about working for Sun. Now he's using his blog as part of the interview process. He asks:
For those folks out there that have worked for Sun - what's it like? Is it a good place to work these days? Would you recommend it for a passionate open source developer like myself that likes to make contractor rates and take lots of vacation?
I've already talked to him and told him what I think. We didn't talk about vacation, which is a disappointing two weeks for a new employee, but other than that I think Sun is a great place to work for a passionate open source developer. If you work at Sun or worked at Sun, leave a comment on Matt's blog or send him an email and tell him about your Sun experience.
I mentioned that I've got a new job at Sun and it begins Monday, so I guess it's time to explain.
Since I joined Sun two years ago I've been working in the .Sun Engineering organization, the team that runs sun.com and blogs.sun.com. In that time we've taken Roller through three major releases, made massive improvements to the Roller code-base, helped grow the Roller community at Apache and delivered new features and improvements on a monthly basis. It's been a truly wonderful experience and I've learned a lot from Will Snow's amazing team, but now that Roller has matured and stabilized I'm ready to start working in some new directions.
On Monday I'll move to the Java EE organization (under Tony Ng) where Sun's working on some very interesting and very cool technologies from server-side scripting with Phobos and JRuby on Rails, RESTful approaches to web services and client-side UI goodness with JMaki. I'm very excited about the move and getting a chance to get involved with those technologies, but I can't talk yet about the specific product(s) I'll be working on. I can say this: I'll continue to be very closely involved with Roller development and I'll continue my work with RSS/Atom, ROME and the Blogapps project. And, of course, I'll continue blogging Roller so stay tuned.
Paul Murphy: By the end of the year the OpenSolaris community will be widely recognised as larger and more active than the Linux community - and every competing OS developer community except Microsoft's will have copied the key ideas including its organisational structure, the core provisions in the community development license, and Solaris specific technologies including ZFS and Dtrace.
That's a nice way to start the new year. No doubt plenty of Sun bloggers will be linking to Paul's predictions.
I'm glad I was able to help Simon get his personal planet back online yesterday. And I'm glad the task was fairly easy. All Simon needed as a new version of Blogapps PlanetTool updated to use ROME 0.9 and I was planning on doing that anyway.
What's PlanetTool you wonder? PlanetTool is a command-line program which reads a set of RSS/Atom newsfeeds and then uses a set of templates to generate a planet site with HTML, RSS, Atom, OPML and other representations. Simon uses it to bring together his personal blog, Sun blog, del.icio.us links and Flickr.com photos into a single webpage and a single feed. If you subscribe to that feed, you'll get just about everything that Simon publishes to the web.
If you're interested in learning more about PlanetTool, here are some of my previous posts on the topic:
The above title Try PlanetTool, it's easy! is a little misleading, but it brings me to my point. PlanetTool is only easy if you're a developer or a power-user; somebody who can handle running Java on a server, editing an XML config file and setting up a cron job. Simon could handle it, but I'd like to make planets easier.
In fact, I'd like to make it as easy to create a planet as it is to create a blog. This past week, I've been thinking about how to do that by taking the simple ROME powered Roller-Planet code, which is found in both Roller and PlanetTool, and build it into a multi-user planet server -- kinda like Roller, but for planets instead of blogs. To get my thoughts into digital form I worked up a little FreeMind mind-map on the topic, dumped it to text, added some wiki syntax and some screen-shots. The result is this: a RollerPlanetMindMap that outlines ideas for the future development of Roller-Planet.
By now, everybody's heard the good news that Java is being released under the General Public License (GPL v2), the same free software license used by Linux. A dual-license arrangement will allow Sun to continue to offer commercial licenses. Sun's Java EE implementation and developer tools, which had already been released as open source under Sun's MPL-based CDDL license are being relicensed under a triple license of GPL, CDDL and commercial licenses.
The usual "how's this good for Joe Java developer?" and "how's Sun gonna survive?" questions are coming up on the forums and blogs. The Open Source Java FAQ answers those questions very well, but here's my take. A truly free/open source Java is good for Java developers and what's good for Java developers is good for Sun. GPL is a good choice because it's truly and undeniably free/open source and the viral nature of GPL drives innovation back to the center, which prevents closed source forks of Sun's Java implementations.
So, how's this good for Java developers? Finally, Linux distros can bundle what is arguably most popular/well known, high-quality, high-performance, multi-platform and well-supported Virtual Machine there is. And that's not just good for Java developers, JRuby is starting to look pretty good too. That will result in more developers choosing the Java VM, more ISP/hosting providers supporting Java and more users using Java. That's good for Java developers. And and it's good for Sun -- if Sun, the ultimate experts in Java, can't make mo'money from mo'Java then I just don't know what to say.
Why is GPL a good choice? GPL and dual-licensing gives Sun the best of both worlds. GPL means Java is truly free/open source, which satisfies the free/open source community and the growing number of governments and orgs that are mandating open source. The viral nature of GPL guarantees that innovation is driven back to the center, i.e. you can modify the Java VM and redistribute it, but you must release your mods free for all under the GPL (and trademark law says you can't call it Java). And the other world I referred to? Licensees who don't want GPL can keep on licensing under commercial-friendly terms and most probably will.
So it's all good and big congratulations to all the folks who worked to make open source Java possible!
 By which I mean Java(TM) technology and include Java SE, ME, EE, etc.