Strong opinions, weakly held

Tag: open source (page 1 of 2)

TextMate 2 released as open source

The source code for TextMate 2, the Duke Nukem Forever of text editors, has been released under the GPL on GitHub. (Here’s a link to the repository.) I switched to TextMate when Ruby on Rails was just released and I switched back to OS X, and the editor has hardly progressed since then. (That was back in the summer of 2005, I think.) For the past couple of years, I’ve been using Vim for pretty much everything but Java.

It’s important to note that we’re not seeing a simultaneous release of version 2 of TextMate. The new version of the editor clearly is not ready to go. The question is whether there’s enough energy around the editor for development to progress. If Allan Odgaard is serious about pushing it to completion, it has a good shot at making it — TextMate still has a large, loyal user base and people who would be willing to contribute in small ways. If he’s publishing the source and washing his hands of it, then I think this is curtains for TextMate.

A third kind of freedom

John Gruber posted a piece on Friday that is a must read for people who are interested in mobile computing, noting an absence of killer apps for Android. In it he talks about some reasons why, despite the strengths of the platform, we’re not seeing developers create unique, compelling applications for it. I don’t use an Android device, so it could be that Gruber’s argument rests on a shaky foundation, but it seems right to me from what I’ve read.

What I want to talk about, though, is a sort of “third freedom” when it comes to computing. The first freedom, referred to as Freedom 0 by Mark Pilgrim, is the freedom to “run the program, for any purpose.” Back in the day, people called it “libre” software to distinguish it from software that’s free in the “free beer” sense. That’s the second freedom. Software that’s free to download and install — freeware.

Obviously Apple’s iOS does not represent Freedom 0 in any way. You use it on Apple’s devices, under Apple’s terms, or not at all. Yes, you can jailbreak your phone but that is considered completely out of bounds. For the most part, Apple seems to see Freedom 0 as a negative. As far as the second freedom goes, some iOS software is freeware, some isn’t.

What Apple offers in exchange for giving up Freedom 0 (and they ask not only end users but also developers to give it up) is a new freedom for computer users — the freedom to install stuff on your computer without screwing things up. Freedom 0 is about giving you the right to screw up your computer in whatever way you see fit. Apple’s freedom is about giving you the opportunity to install any of thousands of applications with the knowledge that your phone will work just as well after you install them as it did before, and that you can get rid of those applications whenever you want.

Hackers and power users see this as a bad tradeoff, but I would imagine that for many users, this tradeoff is completely worth it. Ask any of the people who pay Geek Squad hundreds of dollars to disinfect their PCs whether they’d give up some of the freedom to do what they like to their PC in exchange for never having to deal with those sorts of problems again.

The iPhone was a huge hit before you could install apps for it at all, so it’s not as though this third freedom was the key to its success, but it’s clear that it is the key to the success for third party developers for iOS. It’s why people are willing to go through all of the pain of dealing with the App Store approval process to get their software onto the iOS platform.

The vast majority of users don’t want to be systems administrators any more than most drivers want to be mechanics. Apple has already built one successful platform that offers users the opportunity to avoid that responsibility, and it looks like they’re trying to bring that model to personal computing as well. I wouldn’t bet against them at this point.

How Oracle is consolidating control of Java

Apache committer Jon Stevens says it’s time for the Apache Software Foundation to consider dumping its Java projects. Paul Querna says that developing open source software in Java is a trap because there will be no Java implementations other than the one offered by Oracle.

The piece of news that is triggering this reaction is that IBM has announced it is going to work with Oracle on the OpenJDK implementation and will no longer contribute to Apache Harmony, an effort to create an open source, compliant implementation of Java. In announcing that change, IBM said that they were abandoning Harmony because they believed that Oracle was never going to give them the test tools necessary to certify that Harmony was a fully compatible implementation of Java. This announcement, along with Oracle’s lawsuit against Google, makes it clear that Oracle is not going to support third party implementations of Java. They’re going to discourage them.

As a practical matter for people in the business of developing applications using Java, I don’t think this changes all that much. I use Java every day and I’ve never given any thought to Apache Harmony or the Java Community Process. If this move were to discourage open source activity on the Java platform, it will hurt developers down the road, but my guess is that nearly all open source Jave development is done using the official version of the JDK. That’s not likely to change anytime soon.

At one time, I thought a lot of Java developers would shift to Ruby on Rails. I no longer think that’s the case. We won’t see a mass migration to PHP at this point, either. I suppose we could see people moving to Scala and other languages, but they’re still niche players. So I think Java is going to continue to be what it already is. No longer the belle of the ball, but still the platform businesses use to build their Web applications.

Update: Just read Steven O’Grady’s blog post on this topic.

Practical open source

Tim Bray on answering questions about Android for developers:

Quite a few of the developers who walked up haven’t learned about Practical Open Source; that you can answer an immense number of questions by just downloading the system source code and plowing through it.

One of my standard two part interview questions of late is, “When is the last time you solved a problem by looking at the source code for a library or framework you use?” and then getting them to explain what they found out. I consider it a strong warning sign when a developer doesn’t bother to download the source to the open source tools they use or isn’t willing or able to answer their own questions by reading the source code.

It’s a Maven world

Dave Johnson on why he’s migrating his build scripts for Roller from Ant to Maven:

I was a Maven hater and resisted it for a long time but over the years Maven has gotten much better, it’s well supported in IDEs and as far as I can tell, Maven has replaced Ant as the de facto build system for Java projects. If you want new developers be able to easily build, debug and run your code via command or their favorite IDE then Maven is the way to go, and that’s especially true for open source projects like Roller.

This is my impression as well. I started to create a new, open source Java application the other day, and it occurred to me that for the build script, I should use Maven because it seems like that’s the way everybody is handling dependency management these days. Dave’s post is one more indication that I was probably right about that.

Tim Bray on MySQL

Tim Bray worries:

It’s like this: MySQL just isn’t a very big business, by any measure. And it represents the sort of Open-Source entanglement that essentially every major technology player now has one or more of. So, my worry is: If, in a merger or acquisition, partial control over a financially-insignificant Open-Source project can now be expected to result in many months of anti-trust review, that’s going to have a massive negative effect on the viability of M&A transactions all over the technology landscape.

I would argue that MySQL is “special”. It may not be a very big business, but it has a very large footprint on the technology scene. It’s the “M” in LAMP. It’s the database that powers most Rails applications. On the other hand, MySQL is not evolving that quickly, and the versions that are already out will probably work perfectly well for long enough for a fork or replacement to become the new standard.

RMS opposes Oracle acquisition of MySQL

RMS and some other open source advocates are urging the EC to prevent Oracle from taking over MySQL. Here’s why the GPL is inadequate to preserve MySQL, in their estimation:

Defenders of the Oracle acquisition of its competitor naively say Oracle cannot harm MySQL, because a free version of the software is available to anyone under GNU GPL version 2.0, and if Oracle is not a good host for the GPL version of the code, future development will be taken up by other businesses and individual programmers, who could freely and easily “fork” the GPL’d code into a new platform. This defense fails for the reasons that follow.

MySQL uses the parallel licensing approach to generate revenue to continue the FLOSS development of the software. If Oracle acquired MySQL, it would then be the only entity able to release the code other than under the GPL. Oracle would not be obligated to diligently sell or reasonably price the MySQL commercial licenses. More importantly, Oracle is under no obligation to use the revenues from these licenses to advance MySQL. In making decisions in these matters, Oracle is facing an obvious conflict of interest – the continued development of a powerful, feature rich free alternative to its core product.

As only the original rights holder can sell commercial licenses, no new forked version of the code will have the ability to practice the parallel licensing approach, and will not easily generate the resources to support continued development of the MySQL platform.

The acquisition of MySQL by Oracle will be a major setback to the development of a FLOSS database platform, potentially alienating and dispersing MySQL’s core community of developers. It could take several years before another database platform could rival the progress and opportunities now available to MySQL, because it will take time before any of them attract and cultivate a large enough team of developers and achieve a similar customer base.

Their conclusion is not obviously insane:

We recognize the support Sun provides to increase competition in numerous markets through its support of FLOSS and open standards. We also recognize that Oracle’s acquisition of Sun may be essential for Sun’s survival. However, Oracle should not be allowed to harm consumer interests in the database market by weakening the competition provided by MySQL. For the reasons elucidated above, we ask that you block Oracle’s acquisition of MySQL.

Links for August 28

What do you guys think of the new link format? Good? Bad? Should each link be a separate post?

  • It’s Snow Leopard day. Here’s a wiki for tracking which applications are Snow Leopard compatible. Here’s John Gruber’s upgrade procedure, which I will be following.
  • Ted Leung revisits the age old debate — is open source development incompatible with good design?
  • ComputerWorld tests free antivirus software for Windows.

On the GPL

Daniel Jalkut posts on the disadvantages of the GPL. He argues that the viral nature of the GPL is off-putting to some developers who may otherwise contribute to a project that is licensed under a BSD-like license. That’s completely true. But it’s also beside the point. The GPL is explicitly and intentionally political. The goal is to force more software into the open source world.

The political nature of the license is certainly going to alienate some people, but any true advocate of the GPL will be completely OK with that. Knowingly choosing the GPL means you’re willing to take the “bad” with the good. The problem Jalkut describes has more to do with people who mistakenly equate “open source” with “GPL”.

Developers need to study the licenses before they choose one to release their software under. I’m not sure the GPL is the ideal license for WordPress, but clearly it hasn’t hindered its success. Complaining about the GPL’s encumbrances is sort of like complaining about the fact that when you buy Sierra Club merchandise, part of the money funds environmental causes. That’s the whole point.

Tim O’Reilly on Aneesh Chopra

Since President Obama said he’d name a “federal CTO,” I’ve been watching with interest to see who he’d pick. A lot of people expected that he’d pick a big name industry figure, but he went another direction and chose Aneesh Chopra, the Secretary of Technology for the state of Virginia. Chopra’s name is not one I’d heard before, but Tim O’Reilly makes a compelling argument for why he’s a good choice.

Chopra’s experience is specifically in driving technological advancement in government. I agree with O’Reilly that picking someone who’s never worked in government would limit what can be achieved, because learning how things work in a government setting takes time. Chopra is not going to need to get up to speed.

What I’d like to see is Chopra writing a blog himself, or at least Tweeting. If the federal government is doing interesting things on the IT front (and I expect it will be), part of the value he can provide is teaching states and municipalities what they could be doing as well. I hope he takes the outreach part of the job seriously.

Older posts

© 2024 rc3.org

Theme by Anders NorenUp ↑