Showing posts with label free-software. Show all posts
Showing posts with label free-software. Show all posts

Sunday, July 22, 2012

On the nature of software ownership, yet again

Being a Google employee, I shouldn't comment on the specific case, but I do think this is an opportune time to repeat that by adopting software, you make a calculated bet on the future behavior of a group of people. And sometimes those people behave differently than you hoped.

There is no magic bullet that will make software developers behave the way you want indefinitely. Pay for the software with cash, pay for it with attention, pay for it with a gift economy involving the mutual exchange of labor, don't pay for it at all; make it open source, make it proprietary; eventually you will always be at the mercy of developers whose incentives converge only imperfectly with your particular desires.

Well, I should amend that: if you really really want to control your destiny, you can dedicate your life to building a software ecosystem where every user has both the freedom and the burden of control. This requires much more than open source; it requires the embrace of both Free Software and software systems designed to be just as hackable as they are usable — perhaps even more hackable than they are usable. Basically, a lot of people need to (re)read In the Beginning was the Command Line, and the story of Richard Stallman and the printer. And maybe, overall, be a little less sniffy about the more "extreme" (that is, principled and consistent) versions of the Free Software credo.

Sunday, March 27, 2011

Ubuntu has not solved the agency problem in community software development for the Linux desktop

Four and a half years ago, I wrote:

In an open source project with a dictatorial or committee-led governance structure, somebody would long ago have cracked some heads and gotten this feature implemented. In a commercial software project, open source or non-, some engineer would be assigned ownership of this feature; and goddammit, if that feature didn't get implemented and maintained, that engineer would be fired and the feature would be assigned to someone else. But KDE's headless. It's less like a mammal with a central nervous system than an enormous amoeba whose various pseudopodia ooze tropically in the direction of "developer itches" and "coolest implementation hacks" (hence the recent proliferation of "hugely ambitious infrastructure refactoring" subprojects like Plasma or Solid) rather than unsexy, annoying-to-implement features that merely provide value to end users.

I genuinely thought Ubuntu had a fighting chance of resolving this agency problem. Surely with a dictator taking responsibility for the entire desktop stack, there would be progress. When there's a bad corner of usability for a common user task, somebody will crack some heads and get it fixed.

Today, I tried to share a file over my local network between my Ubuntu desktop and my Ubuntu laptop. And I ran into this defect which has been open for a year. In the year 2011, the easiest way to copy a file from one Linux computer on your local network to another Linux computer on your local network is still either (a) copy it onto a USB stick or (b) upload it to the Internet (e.g. by attaching it to a draft Gmail message).

Meanwhile, Ubuntu's burning huge numbers of developer and UI designer cycles on stuff like Unity ("We're too impatient to fix the rough edges in our existing desktop which has a decade of developer investment behind it; therefore we will design a brand new desktop, because there definitely won't be any rough edges in that.").

It turns out that, in fact, Ubuntu has not solved the agency problem in Linux desktop software development. Sigh.

Saturday, May 01, 2010

Kubuntu Lucid and KDE 4 reactions

Speaking of how software makes you dependent on other people, the newest Ubuntu Long Term Support (LTS) release just came out. This means that in a year, support for the previous LTS release will wind down; which in turn means that Ubuntu users must upgrade sooner or later, unless they want to sacrifice security updates and compatibility with new releases of third-party software.

So, I took the plunge: yesterday I downloaded and installed Kubuntu Lucid.

This is the first Ubuntu LTS release that runs KDE 4, the latest major revision of KDE. I've been using KDE for about 11 years, ever since version 1.1. My immediate reaction was simply that KDE 4 is a mess. And after playing around for a few hours, tweaking settings, and trying to settle in, I still think KDE 4 is a mess. As I use it more, I'm not settling into it; I'm simply accumulating more irritations.

Without exhaustively listing all the details, my complaints basically break down into three categories.

First, there are pervasive performance problems. In every corner of the UI, "shiny" effects have been prioritized over responsive, performant interactivity. To take just one example, under KDE 3.5, the Amarok media player used to be super snappy and responsive; it left iTunes or Windows Media player in the dust. In KDE 4, Amarok takes a couple of seconds to expand one album or to queue up songs, and resizing UI panels is painfully slow and janky. (My workstation has a 2.13GHz Core 2 Duo and a good graphics card. This should not be happening.) Similar problems can be observed in the desktop panels, file manager, etc.

Second, in general, the UI changes seem designed to push KDE's new technology into your attention space, rather than getting out of the way so you can accomplish tasks. Again, here's just one example: in the upper right corner of the desktop, there's a little unremovable widget that opens the "activities" menu:

The upper right corner of the desktop is a hugely valuable piece of screen real estate. By placing this widget in the upper right corner, the developers are signaling that this menu contains operations which will be frequently accessed. Do they really think users will add new panels to the desktop frequently? (For non-KDE users, a "panel" is KDE's equivalent of the Mac OS X dock or the Windows taskbar.) So far, almost every time I've clicked this widget has been by accident while trying to close or resize a window.

If you're a desktop developer who wants to show off your technology, this design may sound good: you put this menu there to make sure users discover your desktop widget and "activities" technology*. However, if you're a user, then this menu mostly gets in your way, and you wish it were tucked away somewhere more discreet.

Third, the KDE 4 version of every application has fewer features and more bugs than the KDE 3 version. The "Desktop" activity no longer has a way to "clean up" icons without repositioning all of them in the upper-left-hand corner. The Konsole terminal application's tab bar no longer has a button from which you can launch different session types. The list goes on.

Anyway, of course, I don't pay for KDE, and so in some sense this is all bitching about free beer. However, suppose I did pay for KDE. Would I have any more input into the process? Windows users pay for Windows; if you don't like the direction Vista and Windows 7 are taking the UI, do you think you personally have any chance of influencing Microsoft's behavior? Mac users pay for Mac OS X; if you disagree with Steve Jobs, do you have any chance of influencing Apple's behavior? In fact, you do not, and both user populations have experienced this reality multiple times in the past decade. Mac users loved the Mac OS 9 UI but they had to give it up when Apple stopped supporting it on new Macs. Microsoft users who are attached to the Windows XP UI will likewise be forced to give it up eventually, when Microsoft stops sending security patches.

The KDE 3 to KDE 4 transition is simply KDE's version of the OS 9 to OS X transition, or the XP to Vista/7 transition. Except that those seem to have worked out OK in the end, whereas KDE 4, which was released over two years ago, seems to have lost its way permanently.

I'm writing this post not just to point out KDE 4's defects — I mean, it feels good to vent, but who really cares — but also to marshal further evidence in support of my contention that owning software doesn't mean much anymore.

Even the fact that KDE is Free Software means little in this case. I mean, what am I supposed to do now? I can't stay with the previous Ubuntu LTS release forever, unless I want to expose myself to security risks, and also be unable to run or to compile new software, both of which are deadly for a software developer. Conversely, I can't singlehandedly maintain a fork of the KDE 3 environment forever; this guy's trying but without a large and active community behind the project, it's doubtful that it will remain current for long. And frankly, I'm getting older, and I don't have enough time to invest in both hacking around with my desktop environment and also accomplishing the other things I want to accomplish in my life.

So, I can either (1) suck it up and live with KDE 4, or (2) abandon the desktop environment I've grown to love over the past 11 years, and jump ship to GNOME or something. (Right now I'm leaning towards (2).) Adopting software means making a calculated bet on the behavior of other people. And sometimes you lose.


*BTW "activities" are 80% redundant with virtual desktops and therefore hugely problematic and confusing as UI design, but I won't get into that.

Monday, October 30, 2006

Weaknesses of non-dictatorial community software projects

As an inveterate user and observer of open source, I've read many criticisms of open source software development that simply don't hold water. This post is about one criticism that I believe does hold water.

In contrary to the straw man often erected by anti-open source pundits, most open source projects have a relatively formal management structure wherein one person or a committee exercises strong top-down control over the project's canonical source code repository. That dictatorial hand may be felt lightly or heavily, but at the end of the day decisions must be made, and priorities set, and the project will follow the dictator/committee's decisions.

(Or --- in the case of a fork --- not, but nobody likes forks and ultimately each half of the fork generally assembles some sort of management structure.)

However, not all open source projects have a dictator. A few projects manage to survive with only informal technical governance structures. The largest and most successful of these is probably KDE, a desktop environment. KDE has a number of associated formal legal entities responsible for things like legal and marketing issues, but the technical direction of the project is not managed by either a benevolent dictator or a committee.

There are good things and bad things about this. Here is one of the bad things: this KMail wishlist item has been in the bugs database since December 2000. It is the top vote-getter on the most requested features list. But nobody has tackled it. A couple of people have made gestures in the direction of implementing it, but no bug-closing patch has been committed to the trunk.

In an open source project with a dictatorial or committee-led governance structure, somebody would long ago have cracked some heads and gotten this feature implemented. In a commercial software project, open source or non-, some engineer would be assigned ownership of this feature; and goddammit, if that feature didn't get implemented and maintained, that engineer would be fired and the feature would be assigned to someone else. But KDE's headless. It's less like a mammal with a central nervous system than an enormous amoeba whose various pseudopodia ooze tropically in the direction of "developer itches" and "coolest implementation hacks" (hence the recent proliferation of "hugely ambitious infrastructure refactoring" subprojects like Plasma or Solid) rather than unsexy, annoying-to-implement features that merely provide value to end users.

Now, as a by-product of this process, you often end up with a lot of excellent software. I use KDE every single day, and on balance I prefer its interface to both Windows and Mac OS X for intensive use.[0] But this software process isn't rationally optimized to serve the end-user, and so there will always be these frustrating little blind spots.

Which isn't to say that commercial software processes are rationally optimized to serve the end user either, but that's another whole series of posts waiting to be written.

(See also: Bug 8333, Bug 55777.)

[0] Yes, that's right --- not the code, not the customizability, not the Free and open source license, but the user interface of KDE is preferable, for a heavy user, to either of the big consumer operating systems. Windows XP and Mac OS X ---especially the latter --- are both highly polished and acceptable for casual use. However, when I'm juggling several terminals, eight or nine Emacs windows, and a half-dozen Firefox windows, the extra features of KDE's window manager simply destroy even Mac OS X's. Ironically, some of KWin's best features were in the classic Mac UI, and were dropped in OS X. (I first got hooked on windowshading when I was an undergrad Silicon Alley web production intern, juggling BBEdit, Photoshop, and multiple versions of Netscape. Ah, the old days...) Other features, like window gravity, have been pretty standard in Unix window managers for years, but have somehow never cracked consumer OSes even though they seem like no-brainers.

Saturday, November 26, 2005

Melanie Wyne makes no sense

Melanie Wyne's recent editorial on open source for CNet is a cornucopia of hackish distortions, falsehoods, and ridiculous non sequiturs.

The backstory: Massachusetts recently proposed that all government executive agencies should standardize on the OpenDocument format for office files, plus PDF for document interchange. The OpenDocument format's been independently implemented in at least two office suites, and it's backed by OASIS, a consortium of people and companies (including IBM, Sun, Adobe, Corel, and many others) that are trying to do for office formats what the W3C did for the web: make it so that everybody in the world can view every document reasonably well, regardless of what software you use. The W3C's efforts are at least partly responsible for the fact that you can choose to use whatever software you want --- Firefox, Internet Explorer, Safari, or whatever --- to browse the web, and expect that most pages will basically work. This will be especially true if the website developer follows W3C guidelines, and writes clean standards-compliant code.

The State of Massachusetts would like this to be true for all government-related office documents too, not just web pages. It would be really nice if, in five years, citizens of the State of Massachusetts could open any electronic documents they get from the State of Massachusetts using the software of their choice, and if government contractors could submit electronic documents to the State of Massachusetts that were created using the software of their choice. Therefore, they are electing to have all executive agencies switch over to OpenDocument. It's important to realize, here, that any company is absolutely free to build office software that reads and writes OpenDocument file formats, without asking permission, and to license that software however they choose. And because the specification's publicly available, there's actually some faint chance that this might actually happen, with less of the random brokenness that happens today when you open a PowerPoint presentation in OpenOffice.org Impress.

Now, according to Wyne, for Massacusetts to contemplate standardizing on OASIS formats is cause for "IP owners" to "worry". Wyne can't back up this statement with anything more than a vague haze of innuendo and guilt-by-association. Her argument is essentially:

  1. Open source software developers participated in the design of OpenDocument.
  2. Some open source software developers have allegedly goofy ideas (like the principle that a nation ought to set its own IP laws, a principle that I suspect most members of the U.S. Congress would agree with).
  3. Therefore, OpenDocument is a step down a slippery slope towards rampant government confiscation of intellectual property, and the end of innovation.

This argument's pretty self-evidently ridiculous, so ridiculous that it's hard to debunk, simply because it's hard to pull apart the logic of an argument that simply has no logic. However, here's a shot. There are roughly three kinds of intellectual property: copyright, patents, and trademarks. To illustrate the absurdity of Wyne's claim that standardizing on an office format amounts to intellectual property confiscation, consider the following three hypothetical conversations between Melanie Wyne and the State of Massachusetts:

State of Massachusetts: Thank you for calling, how may I help you?

Melanie Wyne: Hi, I'm opening a restaurant and I'd like to submit a liquor license application online.

State of Massachusetts: OK, you can submit it in OpenDocument or PDF format at the following website---

Melanie Wyne: HEY! STOP INFRINGING ON MY COPYRIGHT!

State of Massachusetts: Uh, excuse me?

Melanie Wyne: You're infringing on my copyright!

State of Massachusetts: In what work?

Melanie Wyne: Uh... All of it!

State of Massachusetts: Okay. If you'll hold just a second, I'll transfer you to State Services for the Mentally Ill...

A couple of minutes later...

Melanie Wyne: Oh, hello, I was wondering where I can get a pamphlet on coping with mental illness.

State of Massachusetts: OK, you can visit our website, or we can mail it to you if you provide a postal address, or we can email it to you in OpenDocument or PDF format---

Melanie Wyne: HOLD IT! You're a clever bastard, but you won't infringe on my patent that easily!

State of Massachusetts: (silence)

Melanie Wyne: I hold a patent on batshit insanity, and if you email me a document in OpenDocument or PDF format, then I will lose my rights to that patent!

State of Massachusetts: Riiiiggghhht. OK, so, I've traced your phone number to an address and I'm going to initiate an intervention here. Some nice men and women in white coats are going to knock on your door shortly. Do not be alarmed. They are there to help.

A few weeks later...

State of Massachusetts: Ms. Wyne, you've been making super progress! Look at how little of your applesauce you spilled this morning. You barely even need that bib!

Melanie Wyne: Agagooga! Me like applesauce!

State of Massachusetts: That's right, Ms. Wyne, you do! You like applesauce. Now, we'd like to talk about enrolling you in an outpatient program... (Pulls out Tablet PC running Windows and OpenOffice.org document detailing plan).

Melanie Wyne: WAWAWAWAWAWA!! You infringing my trademark!

State of Massachusetts: ...

Melanie Wyne: Put it away! Put it away! Aaaaah! My precious trademark!

State of Massachusetts: (Puts tablet away) Now Ms. Wyne, you know --- you know, that really doesn't make any sense. You're going to have a lot of trouble integrating into broader society if you throw a nonsensical hissyfit every time you see anything related to open source software. If you keep doing this, then we'll have to stop giving you the applesauce.

Melanie Wyne: HA! I KNEW you wanted to infringe my property rights! Communists!

But, of course, Wyne's motivation for slamming OpenDocument need not make any sense. Wyne works for the "Initiative for Software Choice", a partly Microsoft-funded group whose Orwellian name belies their mission to advocate for competitive advantage for proprietary software. Wyne's dinner depends on her ability to shill for pro-Microsoft (and anti-open source) positions regardless of principle; in a very real way, Microsoft ideology is wired up to Melanie Wyne's limbic system. I have to say, though, that Microsoft's not getting a very good deal for its money. It's possible to shill for somebody while still making some semblance of sense. You'd think that with all their billions, Microsoft would be able to buy a higher grade of hack.


p.s. The Open Data Format Initiative has interesting notes comparing the "Initiative for Software Choice" with its opposite, the Sincere Choice project led by Bruce Perens.

p.p.s. For what it's worth, I got the Wyne article link via Symbolic Order, whose blog came up in referers but whose analysis of the situation is (alas) no better than Wyne's.

Sunday, August 24, 2003

Time to root for Microsoft

Court awards $520+ million victory over Microsoft to Eolas; the latter claims it owns a patent on the idea of a web browser plug-in. Riiight. Here's the patent, filed October 17, 1994; excerpts from the abstract:

A system allowing a user of a browser program on a computer connected to an open distributed hypermedia system to access and execute an embedded program object. The program object is embedded into a hypermedia document much like data objects. The user may select the program object from the screen. Once selected the program object executes on the user's (client) computer or may execute on a remote server or additional remote computers in a distributed processing arrangement. After launching the program object, the user is able to interact with the object as the invention provides for ongoing interprocess communication between the application object (program) and the browser program. ...

Oh, give me a break. Here's what this jargon-laden hot air basically says:

"You've got a web browser, right? Now you can load program extensions into it."

But the notion of extensible software is practically as old as programming. Whenever you develop any kind of application or platform, the obvious next step is to make it extensible. See: Emacs Lisp, Photoshop plugins, CGI, and more research papers than I can list, all of which predate Eolas's patent.

The only novel aspect of this system is the fact that it downloads content over a wide-area network. However, a patent does not have to be novel, useful, or non-obvious; it has to be novel, useful, and non-obvious. And if you're familiar with both the web and extensible software, the idea of combining them is completely obvious. The invention of the web would not justify a patent on "Method and Apparatus for Tying Your Shoelaces in a Web Browser", or (despite one local company's claims) "Method and Apparatus for Pushing a Button in a Web Browser". Nor does it justify a patent on "Method and Apparatus for Loading Program Extensions in a Web Browser", which is what this patent amounts to.

Notice, furthermore, that the patent's assignee is the Regents of the University of California. According to recent articles in the California Aggie and Forbes, Michael D. Doyle, CEO of Eolas (and first inventor on the patent filing), was a professor at UC San Francisco when he developed the technology. No doubt the other two authors were co-workers or students at UCSF. So, let's see if I've got this right:

  1. Taxpayers paid for Doyle et al. to develop a tweak on web browser technology, a tweak so trivially obvious that it was independently developed by several other groups around the same time.
  2. Doyle et al. succeed in patenting this "invention", and spin off a company based on this taxpayer-funded development.
  3. Years later, Doyle et al. sue Microsoft and make vague threats w.r.t. other companies developing browsers.
  4. Court awards Doyle et al. $520+ million; if paid, the award will be shared with the University of California, but a healthy chunk will go to the "inventors", while the public pays the real price: chilling effects on browser development everywhere.

Yet another boneheaded outcome of our present patent law system.

Eolas claims it will "probably" not go after Free Software projects. But this abstention is not a matter of principle --- it's just because projects like Mozilla and KDE don't have Microsoft's deep pockets. Furthermore, there's nothing to stop them from going after for-profit companies (like Red Hat or SuSE) who distribute Free Software browsers with their products. A defeat for Microsoft, in this case, means a defeat for Free Software. Fortunately, Microsoft plans to appeal. I'm rooting for them all the way.