Friday, May 28, 2010

"Free" as in not really

Apple is apparently going to start rejecting GPL apps, but the reason isn't what I expected.

The sticking point was that the App Store's terms of service says that a piece of software downloaded from the store can only be used on five devices. But the FSF said that the terms of service impose numerous legal restrictions on the use and distribution of GNU Go that are forbidden by GPLv2 section 6:

So, the FSF is considering it not redistributable enough that an application is available for free via the iPhone store. The quibble is something about, the receiver of the software should be able to further redistribute the code for free, versus telling people that they can download it themselves from the app store.

In general, the GNU license isn't all that "free" in any common definition of the word. It seems pretty darned free to me if anyone who has an iPhone at all is able to download the software, run it all they like, and even go grab the source code. It's hard for me to see this as anything other than the FSF trying to get negotiating leverage and make itself more important. The problem is, their efforts to gain power are involving steps that are against their mission. To promote free software, they're seeking power, and to seek power, they're blocking the distribution of free software.

Open source is not for everyone. However, if you really want to give away software, it seems to me it should be given away in some simple, intuitive way. Either public domain it, or, if that seems too radical, use a clearly free license such as the MIT license.

Wednesday, May 19, 2010

Microsoft's revenge

CNET reports that Microsoft is suing an obscure company I have never heard of for stealing Microsoft's patented ideas. The patents in question?

The patents cover a variety of back-end and user interface features, ranging from one covering a "system and method for providing and displaying a Web page having an embedded menu" to another that covers a "method and system for stacking toolbars in a computer display."

These patents are about routine programming, not about novel ideas that deserve over a decade of exclusive use. They shouldn't have even been granted. Yet, not only have the been granted, but similarly groundless patents have been upheld in the past. Who knows? Maybe this case will hold up, too.

I challenge anyone to read up on how patents are supposed to help the public, and then compare that to how they are actually working.

Sunday, May 16, 2010

That's my niece

The TCPalm found little Carolina just as adorable as her family does. I'm not sure I get what a good vs. bad bug is, but who cares? Any excuse to play with lady bugs.

Tuesday, May 11, 2010

"Stringly Typed" Code

One of several programming slang terms posted on Global Nerdy:

A riff on strongly-typed. Used to describe an implementation that needlessly relies on strings when programmer- and refactor-friendly options are available.

I really hate stringly typed code. It's convenient for a while, but it grows all kinds of weird bugs over time. Almost every conceivable corner case in the format [sic] tends to be broken, because they have to be reimplemented in every bit of code that processes the string.

I usually call it out as Alan Perlis's "stark data structure", but "stringly typed code" has a much better ring to it.

Drawing a line in the sand

Australia continues to play with the idea of censoring the parts of the Internet its people can see:

Governments and organisations around the world are intently watching Australia as the Federal Government continues to peddle the proposed ISP-level Internet filter, former GetUp executive director and AccessNow founder, Brett Solomon, has revealed.

I don't know exactly how this will play out. It will be an ugly blow by blow as various parties wrest for influence over this new source of power.

The longer trend is clearer, however. There will be ever more ideas about what to filter, and only rarely will anything be taken off the list. Further, while it might initially take a large supermajority to get something on the list, eventually everyone will get used to the idea of a pervasive filter. At that point, more like a simple majority will suffice.

Whatever is being said now, there will be quite a lot of things people work to add to the filter list over time. Here are a few from the top of my head:

  • Distasteful content with no artistic merit.
  • Content felt to be harmful to children.
  • Activity of suspects in major crime.
  • Activity of people capable of committing a crime (i.e. everyone).
  • Motion of copyright-protected material such as Hollywood movies.
  • Activity deemed bad for society, such as gambling.
  • Below-quota viewing of material deemed good for society, such as acclaim for the wonders of one's own country.

There's an even worse problem than that the list tends to grow. As more and more people are needed to enforce these filters, the quality of the people involved will decline. When there are ten wire taps a year, and the court cases authorizing them are publicized, the public can scrutinize all the agents involved and hold them to a high standard. It's like the death penalty in U.S. states--every case is hyperanalyzed. However, once the filtering is routine and pervasive, it takes a small army of employees to implement it. It becomes more like the income tax service or the policy forces, where there are so many people involved that there are many bad apples.

This is a case where there's no good solution but to draw a line in the sand and stick to principles. Each extra step of filtering is okay and will have proponents saying it makes everyone better off. However, the end result is a relatively repressive regime, one where neighbors spy on each other and decide what is appropriate for each other to view. If you think that creativity, insight, and entrepreneurship are important for society, then this is an order where society is missing something vital.

The historical place we draw the line in the United States is that people have free speech. All citizens can say what they like, and other citizens can listen to whomever they like. It is not up to the government, much less to random neighbors, what material is fit for citizens to view. If I lived in Australia, I would fight for just that line. Speech over the Internet is still speech, and it should be sacrosanct.

HT James Robinson.

Saturday, May 8, 2010

Closed platforms are not illegal

I think open operating systems are good for the world. They unleash the creative energy of the world to create new applications that the core maintainers would never dream up. Wikis, blog software, web browsers, and TeX are just the tip of an iceberg of ground-breaking applications that wasn't developed, licensed, approved, or even known about by the maintainers of the operating systems they ran on.

However, quite a few closed operating systems have been good for the world, too. I dare say gaming consoles have made human life better. If that sounds too fun and not puritan enough, then think about GPS navigators. Heck, just think about consumer devices that have software. If you want to put software in a Ford, you can't just hand out memory sticks. You have to talk with Ford, and if they say no, that's that.

Additionally, closed systems are ordinary. Nobody has particularly up in arms about Sony disallowing arbitrary development for Playstations. Nobody has said that Ford is being anti-competitive to control the software on its system. So why Apple?

I can speculate about why people are upset about Apple, but there is a more important point to establish: it's their right to close their system if they want. It's difficult to predict whether the net result will be a better or worse system, but at any rate it's their system. If you think they should do something different, then try to persuade them. Let's stop shy of force, however. We shouldn't allow major government figures to just step in and rough up any company they please so long as they have a mob of people cheering them on.

This is not to say that I see no role for law in the software world. There are plenty of basic business principles that it is tremendously helpful for the government to enforce. Contract, ownership, non-disclosure agreements, copyright -- these are all useful institutions to build and enforce. Another are that is ripe for action is open document initiatives: insist that government agencies release documentation only in open formats that are easily reimplemented and widely available.

When it comes to application platforms, however, it's premature. The area is just too dynamic. Expect a decade at the minimum for a major government to work out a reasonable system of law and enforcement for something new. Minimum. I would expect more like 20-30, and ideally there would be several approaches tried in different parts of the world before a final choice is made about how the thing should be done. For now, leave application platforms alone. If the government wants to do anything, hold up platform owner's rights to be gatekeepers for the content on them. Platform owners can opt to do otherwise, but if they don't, everything will still be fine. Once in a while, we'll even see a platform like the Wii: thoroughly closed, yet very much good for the world.

Let the flowers bloom. The iPhone is still budding, and we don't even know yet how it's going to fare once the initial fad runs out.