PyCon DC 2004
Mitch Kapor designed Lotus 1-2-3, a spreadsheet that arguably was the killer application that brought PCs into the business world in the 1980s. Later, he founded the Electronic Frontier Foundation, a watchdog group for civil liberties in cyberspace. He now runs the Open Source Applications Foundation (OSAF), whose main project is Chandler, a Python-powered personal information manager (PIM).
In the 1980s Mitch was fascinated by the Apple II. But he saw a big gap between what the Apple II, TRS-80 and PET could do vs. what people wanted them to do. Software, hardware and the Internet later evolved, GUIs appeared and evolved, but the critical parts still remain missing: computers don't do what the users want and they still require the users to be sysadmins--even those systems that claim they don't.
Mitch started considering open source in the late 90s when working as a consultant; he was forced to recommend Microsoft Exchange on NT for a five-person office. Exchange was way overkill for the situation and required introducing an NT server where none was before, but there was no feasible alternative. "The road was littered with corpses of companies that had tried to compete with Microsoft's product", he said. Mitch was familiar with free software, because Richard Stallman had lived up the street from him in the 80s and had picketed his house. At the time Mitch was torn. He felt Stallman was right, but he also had to think about his company's interests.
By the 90s, however, he began to consider developing open-source applications himself. One factor was the unexpected success of Linux. Companies now are betting mission-critical applications on non-commercial software: "The business community still hasn't appreciated how revolutionary this will be." Open source will make software in general cheaper: "There will still be a lot of paid programmers but probably fewer billionaires." It can't be contained by any one company because the entry barrier is so low. Open source is catching on in the Third World faster than in the industrialized countries: "In five years, maybe ten at most, it will be a fait accompli." Remember that, "ten to fifteen years ago large corporations never thought mainframes and terminals would be replaced by little microprocessors."
Chandler is inspired by Lotus Agenda. It's an e-mail client, calendar groupware and a contact manager; it also can handle freeform notes and other types of information. Mitch focused on e-mail because that's the center of many people's organizational life--they use their inbox as a de facto to-do list.
Mitch chose Python over Java feeling that Java (particularly Swing) was not well-designed for end-user applications. He knew about Perl but chose Python because two people convinced him that Python has better developer productivity and its flexibility would allow users to add functionality themselves later. The latter proved correct when users came up with the idea of a spiral calendar view and implemented it.
Chandler uses wxPython, Berkeley DB, dbXML, Jakarta Lucene (full-text indexing) and OpenSSL. "Python is the glue holding all these together", he said. To use Lucerne they converted its Java interface to Python.
Mitch identified two challenges Python needs to face:
Performance. You can never do enough to improve it, in spite of Moore's law.
Security. Now that the Internet is mainstream, people with too much time on their hands and not enough judgment are doing mischief. Security should be easy for the user. Sandboxes, e-mail filters and the like should be built into the infrastructure.
Pythoneers took these challenges to heart. Guido's subsequent keynote and several of the session talks acknowledged these goals and showed how their projects will be working on them during the coming year.
Mitch also had several challenges for open source in general:
Desktop. Mitch would like to use a Linux-based desktop that's not a poor second to Windows and the Mac. Now that overlapping projects exist, each with its own history, the project managers must coordinate and realize there's a bigger world outside their own projects.
Intellectual property reform. The laws have not caught up with software reality. Patent laws in particular must be overhauled or they will throw a monkey wrench into open-source's progress. The Open Source community is not well organized to defend itself. We have to hope it doesn't hit soon. We'll need foundations and friendly corporations to do the heavy lifting, so they should take the lead immediately and make sure we have a response prepared.
The free-rider problem. Too many companies depend on free software without contributing back. This puts a damper on what these projects can do, and it even threatens the sustainability of some projects. Companies don't necessarily have to contribute code; they can sponsor developers or support foundations.
Implications beyond software. The open-source model is applicable to other business practices besides software.
- Readers' Choice Awards--Nominate Your Apps & Gadgets Now!
- diff -u: What's New in Kernel Development
- Memory Ordering in Modern Microprocessors, Part I
- Source Code Scanners for Better Code
- Security Hardening with Ansible
- Tech Tip: Really Simple HTTP Server with Python
- RSS Feeds
- Non-Linux FOSS: AutoHotkey
- Readers' Choice Awards 2013