So the other night I got to thinking about why I am working on the OSER project. No one pays me. I have people interested in it and helping with it. But there really isn’t a “traditional” driving force behind it. No one person or entity requesting it. No deadlines. Etc etc etc.
When I first started the project I was 17 years old. I had just finished up a 6 month project helping OpenOffice/Gnumeric and Koffice with there excel file format functionality. Why did I do this? Well it started out by scratching a personal itch. I wanted to read an Excel file under Linux. I think it was for some sort of school project. I don’t remember. Anyway I looked at several solutions and finally found the most usable. It was a command line program called xlhtml. It was useful but lacked a documentation and functionality. So I got the source and started hacking on it. That led to my taking over of the project and a detailed and intimate understanding of the problem space that was compund/structured storage formats (the envelope) and the excel file format (the letter). I spent a good six months working with the OpenOffice and Gnumeric teams producing a number of artifacts including file format and encryption methodology documentation. I stopped working on the project for two reasons. Number 1: I got my first job doing grunt systems administration work. Number 2: VBA streams. This was a nut that I just couldn’t crack. I worked with some of the worlds best coders to crack it and was unable to. (It was later reverse engineered by members of the ClamAV team and a crack team of security engineers. I belive that Microsoft may have provided some documentation and assistance but I am not 100% sure of the fact).
So a while later I wanted to get more involved with the community. I sat down and thought about what was missing. I had done this once before which led to my first open source project Slidedraw. That was a presentation graphics program written in TCL/TK. This was soon superseeded by the fully open source release of StarOffice (open office). I also hacked on an access replacement for a while and assisted in documenting the access (mdb) file format. However those are stories/posts for another day.
Well I saw that there wasn’t alot missing from the average user perspective. So I wrote a windows to linux conversion guide. It was fairly simple. Basically a table with common Windows (actually only Microsoft) programs and the open source equivelents. At the time there were some gaps (like publisher for example). These have sense been filled. The table I wrote appeared over and over in various guides the most notable being the IBM Linux migration guide. I never received any credit or requests to use the material but thats ok
It was hardly original or unique.
So I then said ok. What is missing from the server side. And I saw that an Exchange replacement was needed. So I set out looking for one. I found a lot of people asking for it and some howtos and loosely scattered notes on how to go about this mythical task of building an Exchange replacement. Well I tried doing some of that. I tried a whole bunch of things. Some of what I read was widly innaccurate or incomplete. In fact most of it was. So I stepped back and went to the source. microsoft.com/exchange. At this time Exchange 2000 had been released. So I sat down and enumerated the functionality and features offered by the project. Based on this and the existing documetnation/research I had done I developed the initial scope of my project. A lot has changed since then and I must write about it sometime.
However tonight I am writing about my motiviations. (For the writers of you out there yes this is a transition point and yes I should probably have come to it earlier. I need an editor. Any volunteers?
My original motivation was to fill a gap. I wrote about that in detail above
Then my goal was to compete with Microsoft on a toe to toe basis with Exchange. However I realized that this wasn’t really viable. Sure maybe I could underbid. Utilize off the shelf components vs doing everything myself. However at the end of the day it would just be a brown mouse trap instead of a blue one. Still a mouse trap. Still a product to manage your schedule/contacts/e-mail/todos. Nothing more.
However there is more to information management then that. When you sit down and think how information is managed you realize there are serveral parts to it. E-mail and scheduling etc is just one part of your day. The biggest part is interaction. The information itself just supports/guides that interaction.
So then my goal was to compete with Google in the information management space. Well more specifically the Google appliance and other things Google has aimed at the individual. See I don’t want to manage the worlds information. Just mine. And if you can use my product to manage your information thats great as well. If you want to pay me to implement the system so you can focus on what you do best then even better.
So I came up with a 2 part product plan:
1. Sell an appliance
2. Sell hosting
(And of course reselling of the above).
And I set out to build an appliance and software stack. Combining all the various elements of information and workflow management together.
Now I am having a ball learning about all the different technologies and pieces and how they interact. So my current motivation has nothing to do with money or competition. I simply want to learn as much as I can about Linux/LAMP/Wikis etc etc etc. And of course don’t forget reverse engineering. And building an active directory replacement. Also integrating voice into the mix. I have enough things to provide a hobby for the rest of my life
(The best thing about this hobby, is that it doesn’t take up a ton of space and doesn’t cost money beyond overhead). How cool is that?
(I think that would make a good first chapter of a book. Mmmm)