Jeffrey McManus > Category Archives > Open Source
Google Makes Its Entry Into the Wireless World
Link: Google Makes Its Entry Into the Wireless World
"John O’Rourke, general manager of Microsoft’s Windows Mobile business, said he was skeptical about the ease with which Google will be able to become a major force in the smartphone market. He pointed out that it had taken Microsoft more than half a decade to get to the stage where the company now does business with 160 mobile operators in 55 countries around the world. 'They may be delivering one component that is free,' he said. 'You have to ask the question, what additional costs come with commercializing that? I can tell you that there are a bunch of phones based on Linux today, and I don’t think anyone would tell you it’s free.'"
At first glance this quote looks like some spin put out by the incumbent to defend their business, but at second glance it makes you say "yeah...we've had open phones for a while now. What just changed? Is it even material?"
Google's campaign to perform competitive jujitsu using the malevolently humming light saber of openness is nice and all, but it's a fact that I can write an application for my Windows Mobile phone today without having to pay anyone any money or ask anyone permission. (I don't think the same is possible for my wife's RAZR.)
Update: Looks like Om Malik shares my skepticism; he's asked some even more incisive questions.
November 5, 2007 in Open Source, Platforms, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Apache At 56%
Very interesting thread on Digg this morning called "Apache at 56% - what is wrong?" Apparently a number of factors are converging to erode the dominance of the Apache web server (which, as of two years ago, used to run 70% of web sites by some measures). Lots of interesting pro-IIS and .NET comments in the comments (the most vocal Unix/LAMP proponents seem to be embarrassingly out of date on the state of comparable Microsoft products -- blinded, no doubt, by their rabid reaction to Microsoft businesses practices in the 1990s).
Several people pointed out that IIS today is very secure, performs well and is easier to configure (and the upcoming IIS7 adds a number of compelling features that bring it closer to feature parity with Apache). In discussions like this somebody always brings up the "free beer" argument (that Apache costs $0), but they neglect to mention that you can get the web server edition of Windows for just $300 now, and IIS/.NET is a more productive stack for developers by far. (I could easily burn more than $300 worth of time getting Apache configuration figured out.)
May 5, 2007 in .NET, Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (2)
Cgen: Simplest .NET/MySQL Relational Wrapper That Could Possibly Work
Last week I attended and spoke at the MySQL conference. Some of the talks, particularly the ones that targeted system administrators rather than developers were over my head, but that's useful information in itself -- it serves as a reminder that sometime soon I'll need to either learn the finer points of big-time MySQL system administrator or hire somebody who does.
It was particularly fun giving a talk on .NET to MySQL guys just two weeks after I finished giving a talk on MySQL to a room full of .NET guys. It was also fun seeing my client Alfresco and hanging out with them in their booth, where they were doing demos and fielding lots of inquiries.
I'm just now getting around to firing up the blog-o-matic in earnest after four weeks of more or less non-stop conference-going, but I wanted to mention that I've released the tool that we use to create the data access layer. It's called Cgen, and it lives here.
The idea behind Cgen is that you create an XML document that represents your database schema, and Cgen (which is packaged as a command-line tool written in C#) spits out a bunch of classes that make it easy to do the basic create, read, update, and delete operations that represent 80% of all database-driven applications. (For the remaining 20% of the data access code you'd need to write, the tool generates subclasses that you can add your own code to.) You can then compile these classes as a .DLL or, if you're making an ASP.NET 2.0 web application you can just dump the classes into the application's App_Code folder and .NET will figure out how to compile the classes.
We use code generated by Cgen as our data access layer for Approver.com. It has worked splendidly and saves us a bunch of time. At the same time, Cgen doesn't have a ton of bells and whistles. I realize that this is probably the one millionth object/relational code generator in the history of software development. I took a look at other object/relational mappers like SubSonic, and I used NHibernate on an intranet project I did at Yahoo in 2005. But for Approver I wanted a tool so simple that you didn't spend more time learning the tool than you would have spent writing the code yourself. I also needed something with good support for .NET 2.0 and MySql (which was difficult to find in March 2006 when I started using MySQL).
May 1, 2007 in .NET, MySQL, Open Source, Platforms, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (1)
Adobe Open-Sourcing Flex
This is exciting: press release here, developer info here, FAQ here.
When Flex first came out a few years ago, there were mutterings that they'd provide support for languages other than Java -- maybe open-sourcing the SDK will open the door to making that a reality (particularly in light of what Miguel said the other day about Flash and Silverlight).
April 26, 2007 in Adobe, Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Miguel de Icaza on Silverlight, Flash and Open Source
Link: Microsoft Happenings - Miguel de Icaza.
"Lacking a viable open source-based competitor today for rich media delivery on the web and given the current state of both Flash and Silverlight, it is in open source's best interest to ensure that Flash gets ahead of the competition."
This makes sense to me thought I suspect it will be hotly debated in the open source community because of open source's historical hostility toward Flash. But there's nothing like a new Microsoft initiative to get open source developers to change their minds about their sacred cows.
April 20, 2007 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Rob Conery Wants Your Questions about Microsoft and Open Source
Rob heads up an open source product called Subsonic; he's been invited to speak on a panel at Microsoft's MIX '07 and he's asking folks to pass questions along pertaining to Microsoft development and open source that might be useful to discuss on the panel.
It was most excellent to see that Miguel de Icaza will also be speaking on the panel (even though, regrettably I won't be at MIX this year so I won't get to attend this panel). In years past Microsoft banned all discussion of Mono from the allegedly community-driven portions of its Professional Developer Conferences, so it's neat to see that Miguel will finally be given a soap box now that his employer and Microsoft have achieved a rapproachment.
Update: Video of the session is now online here.
April 12, 2007 in .NET, Microsoft, Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Patent Fights Are a Legacy of MP3's Tangled Origins
Link: Patent Fights Are a Legacy of MP3’s Tangled Origins
Microsoft says it was doing the right thing: paying a German rights holder $16 million to license the MP3 audio format, the foundation of the digital music boom. Then an American jury ruled that Microsoft had failed to pay another MP3 patent holder, and slapped it with a $1.52 billion judgment. But the MP3 toll gates do not end there.
The confusion stems from the number of companies and institutions -- including Thomson, Royal Philips Electronics and AT&T (through Bell Labs, now part of Alcatel-Lucent) -- that worked to create the MP3 standard almost two decades ago. The patent claims of those and others are increasingly being backed up by aggressive enforcement efforts, including lawsuits and even seizures of music players by customs authorities.
This situation is a mess but the story completely biffs it by failing to mention that there's a free alternative to MP3. The fact that only twelve people use it is beside the point -- It's as if the reporter did a story on a mass-suicide without asking why all the nice people killed themselves.
The situation with MP3 patents is a very interesting counterpoint to the way that Microsoft has attempted to taint open-source over the years. In the past Microsoft argued (speciously) that there was huge risk for businesses that permitted to let open source anything come within 100 miles of their code base. Now we find that the real threat is not open source but software patents, and, ironically, the biggest victim may be Microsoft itself.
March 7, 2007 in Microsoft, Music, Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
The New Science of Sharing
Link: The New Science of Sharing.
"According to researchers, there are far more leads than any one lab could possibly follow up alone. So by placing its data in the public domain, Novartis hopes to leverage the talents and insights of a global research community to dramatically scale and speed up its early-stage R&D activities."
March 2, 2007 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Alfresco Releases 2.0
Alfresco is an enterprise content management system that also happens to be open-source. Today they came out with their 2.0 release and changed their licensing -- they're now fully GPL. You can read details about the release on John's blog or download the bits yourself here.
I just started advising these guys so the timing couldn't be better. I'm looking forward to coming up to speed on the new release.
February 23, 2007 in Alfresco, Collaboration, Content, Community, Open Source, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
A MySQL IPO in 2007?
Link: GigaOM » MySQL prepping for an IPO.
"Long a favorite of web developers, MySQL saw serious growth in 2006 and added 2,500 new customers, and also introduced MySQL Enterprise. There seems to be a renewed interest in open source IPOs....For starters, the corporations have taken a shine to the open source3 software.
Secondly, most companies with IPO dreams have been around for a while and have been able to build solid businesses around their offerings."
This is very good news for our friends from Uppsala and for open source businesses in general. For years the database market has been ripe for disruption and now it seems like MySQL is approaching a serious tipping point. I'll be watching this closely.
January 31, 2007 in MySQL, Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
John on BBC
In a completely bizarre coincidence, John (my wife's brother) was interviewed on the Beeb about his open-source content management system, Alfresco. I got a recorded version of the interview as a podcast; John's quote is about 10 minutes in.
This is the second close friend/family member who has been interviewed about their open source product by the BBC in the last week. It is as if the BBC suddenly went bonkers for open source and rifled through my rolodex to find people to interview.
January 13, 2007 in Open Source, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Radio goes the open source route
Link: Radio goes the open source route
Developer Douglas Arellanes told BBC World Service's Digital Planet programme that as well as playing files, which can be done from any media player, Campcaster adds features specifically for radio broadcasting and uses it for all aspects of a radio station, such as the ability to stored and schedule music, line up news clips and interviews, and preview listen to a record before it is played on air. "You can now pretty much run your radio station off a notebook computer," he said.
January 11, 2007 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Speaking at VSLive in March
I am extremely excited to be making my hopefully-triumphant return to the VSLive conference in San Francisco in March.
I started speaking at VSLive in 1997 (back when it was called VBITS). I spoke at most of the VSLive conferences in the U.S. in Europe through 2001 when I went to work for eBay. I even took time out from my honeymoon in 2000 to speak at the VBITS conferences in London and Stockholm (you can imagine how difficult it was to convince my fiancee to add two European capitals to our trip).
VSLive has been one of my favorite conferences to speak at for a couple of reasons. One is its practical focus -- it's about getting things done in the real world instead of talking in grand strategic terms about what technology means, etc. I also really like the mix of Microsoft insiders combined with the regional directors and other consultants -- it seems to keep the agenda honest and grounded.
I've also made some great friends over the years at these conferences, particularly Andrew Brust (who I met at VBITS Berlin in 1997, the night before he was carted off to the hospital after suffering a fall onstage), Chris Kinsman, who I co-authored two books on ASP.NET with, and Deborah Kurata, who I had an extremely productive working relationship with for a few years in the late 90s.
I have been pitching talks on open-source tools to VSLive for a bunch of years. In 2001 I tried to get them to let me do a talk on NUnit. I was really passionate about unit testing around this time and I was crushed that they didn't have room for my talk on the schedule that year. Unfortunately, a lot of Microsoft platform developers didn't get unit testing religion until a unit-testing tool was included with Visual Studio four years later -- and only then if you shelled out the big bucks for Visual Studio Team System. NUnit is still a great tool, by the way, and it's 100% free -- I still use it and highly recommend it.
Anyway, I've been spending a lot of my time in the last five months coding an ASP.NET application using MySQL, so I figured it might make sense to share what I've learned about the pros and cons of MySQL with VSLive attendees. So I'm delighted to announce that my March VSLive talk will be on Programming MySQL with .NET.
I am not sure if this is the first VSLive talk to cover an open-source product, but I am pretty sure that it will be the first MySQL talk at VSLive, which makes it infinitely more exciting for me. I am going to bust my croutons to make this talk as good as the ASP talk I gave around 1999 (in which I demonstrated a common security flaw in ASP and three or four people in the audience unexpectedly jumped up, opened their cell phones and ran out of the room in a panic -- that was pretty fun).
If you're using MySQL with .NET, or you're just interested in learning more about it, I'd love to hear your feedback and suggestions in comments. My plan is to cover the basics of a data-driven app using ASP.NET and MySQL, hit some of the subtle syntactical differences between MySQL and SQL Server, and then cover some goodies like MySQL stored procedures. If there's something else on that list you'd like to see, let me know.
January 10, 2007 in McManus World Tour, MySQL, Open Source, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Adobe and Mozilla
Frank Hecker of the Mozilla Foundation has an excellent long post with details on what Adobe is committing to open source.
It sounds like this is going to be good news for Yahoo! Widgets developers, since Y! Widgets uses SpiderMonkey, and (according to Frank) future versions of SpiderMonkey will benefit from the performance enhancements provided by the virtual machine technology that Adobe is open-sourcing.
November 7, 2006 in Open Source, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
eWeek: Windows + Open Source = Goodness
From eWeek:
"Enterprise IT managers shouldn't hesitate to look into the option of deploying open-source stacks on a Windows Server platform. For some businesses, this will truly be the best of both worlds."
I've always been intruigued by the possibilities of using open-source tools on Windows. Early on I was a huge fan of development tools like NAnt and NUnit, and this year I've spent a lot of nights and weekends getting up to speed on MySQL (which works fabulously on Windows Server 2003 and Windows XP). It seems to me like there's a chasm between between Windows developers and open-source tools and technologies built to make their lives easier, which always seemed like a pity to me.
July 10, 2006 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (2)
John Makes the Cover of InformationWeek
Big congrats to John for making the cover of Information Week. In addition to being my brother-in-law, he's the co-founder of Documentum and he's now the CTO of Alfresco, an open-source content management system that just released their first technology preview.
July 11, 2005 in Open Source, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Delivr: Web Postcards Using Flickr Photos
Delivr is a cool new Web toy that lets you send postcards to your friends using Flickr photos.
It's most excellent if you're into the postcard thing, but it's even cooler when you think of what's behind all this — a boss API combined with some thoughtful attention to the intellectual property aspects of reuse (all the photos made available by Delivr are provided to the community by their authors under a Creative Commons license, so it's 100% on the up and up).
Charles, the author, goes into more detail on what's behind Delivr on his weblog. He says that the vast number of photos on Flickr might make Delivr "the biggest ecard site online."
May 20, 2005 in Collaboration, Content, Community, Open Source, Things What Look Good, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
How To Document Your Open-Source Tool
I've been poring over the documentation of various open-source tools for the past few years and have collected some thoughts on the subject. All these things seem (to me) like they should be no-brainers, but I see these things come up again and again and it's maddening to me. I desperately want to like a project, but then I see there's no documentation and I think to myself "I'll take another look at this in eighteen months, maybe."
For all the technology we have at our disposal, people still like to read words strung together in the form of sentences. They do this to learn about what you're working on. If you don't have the ability or the patience or the skill to string together sentences, make friends with someone who can, and imitate them. (Step one involves reading a lot.) Failing that, try your best to do your own documentation, no matter how much you know your efforts suck, and get the input of someone who can edit well and give you constructive feedback. I've written and co-authored six books and I'm still in awe of some of the editors and other writers who influenced and helped me.
Here are my rules:
First, if your open-source application does not have documentation, or if the documentation is so sparse as to be useless to someone not intimately familiar with the inner workings of your application, your application is not done.
Second, every software product evolves over time. This is why they call it software (as opposed to carved-into-granite-wear). But the documentation, paradoxically, must describe the state of the software at a single moment in time. Do not get wrapped around the axle describing the fifteen-year history of your product, or how it will work when the next dot-point release comes out. Describe how it works today.
Third, the source code is not the documentation. This is the same thing as saying that because you have a stack of DVDs containing the raw output of the human genome project on your desk, you have a good sense of what your next-door neighbor wants for lunch.
Fourth, if you are using an online group authoring tool such as a wiki (etc.) to create your documentation, great. You still need editing. You still need organization. You probably need an index and a table of contents unless your documentation is incredibly brief.
Fifth: Online browsing is not sufficient. You will need a way to let me download your documentation. You need a way to let me commit your documentation to dead trees so I can read it on a bus.
Sixth: However you choose to author it, your documentation should not contain markup, embedded comments by anonymous users, emoticons, or misspellings.
Seventh: Separate yourself from your agenda and focus on what's useful. Feel free not to cover 100% of the functionality of the system in the first five pages of your documentation. Have the courage to say what sucks about your product. This is one reason why the best technical books on commercial software are often written by people outside the company. I can think of a few open-source tools where people who were very close to the project didn't write the best book on it.
Eighth: Make it very easy for users of your documentation to provide feedback, and be gracious when they do so. Do not reject feedback because it doesn't conform to your paradigm in some petty way. (A few years ago I volunteered to write complete documentation for a little tool that shall remain nameless and the owner of the project said "oh, sure," and proceeded to insist that I begin by hacking up a buttload of XML documents that he'd painstakingly been cobbling together, and that there was no possible way that anyone could contribute to the documentation effort in any other way because to do so would invalidate his incredibly complicated build script. Um, no.) Microsoft figured the feedback thing out in a big way in the last few years — every page of the .NET Framework SDK documentation has a contextual link that lets you submit a documentation bug, and if you submit a docs bug, you get a "thank you" from a real live person in email within a few hours. This is important because it lets the bug reporter know they're being listened to, which makes them more invested in the tool, which makes them more likely to contribute bug reports in the future.
I'm sure that five more rules will occur to me as soon as I hit the Save button.
December 20, 2004 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (9)
Firefox Going Completely Mental
The folks behind the open-source browser Firefox will take out a full-page ad in the New York Times to promote their browser after soliciting donations from the community. In 10 days, 10,000 members of the community donated a total of $250,000 to fund the campaign. Amazing.
This is one part of a bigger marketing campaign they're doing to promote their launch, but it's already safe to say that these guys are writing the book on how to market open-source tools.
The browser is approaching its official 1.0 release. It's well worth trying if you haven't done so already (download here). I've been using it as my default browser for quite some time now and I find I'm much more productive with it.
October 30, 2004 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (3)
Firefox: You Should Print Better
To the extent that I permit myself to not feel guilty at making greedy demands of free software, I demand that Firefox get smarter about printing. (You know, rendering Web pages on printers.) Specifically, I want its print dialog on the Mac to not suck (all I want is to make the margins one-half inch all around, is that so wrong?). I also want it to implement the "page-break-inside: avoid" CSS directive. I don't think that's unreasonable.
October 20, 2004 in Open Source, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (2)
Notes of Miguel's Mono Talk at OSCON
We just released Mono 1.0
~300 contributors
high level of developer productivity because the type of project is easy to compartmentalize
"this is an open-source implementation of ECMA 334 and 335 -- but that doesn't quite convey it."
Mac OS X support was sponsored by a company that wanted embedded systems support on PowerPC. We aren't saying what that company is until they ship their product.
Roughly 50% of contributors to Mono use Windows exclusively.
Other platforms supported: Solaris, HP-UX, AIX
"Tier 1" languages. C#, Java (IKVM), and Nemerle
Preview: VB.NET, JScript, Python.
This python implementation embeds the Python VM with the Mono runtime.
(what is the use case for this?)
this afternoon Jim at 4:30 will be giving a talk on another approach to doing Python with Mono. (IronPython -- great talk, btw!)
we don't do VB because we think it's a great language, but because it's our #1 request.
Intent is to ease transition from Windows to Linux development
Mono 1.0 supports .NET framework 1.1 except:
vb, windows.forms, enterprise services (transactions), installation services
We have RelaxNG extensions
Monodoc
A lot of our documentation is repurposed from ECMA documentation. ("It's bad [as are many OSS projects in terms of documentation] but not as bad as some.")
Their Monodoc works like a wiki, they make it very easy to contribute under the MIT/X11 license.
-- THIS IS AN AMAZING INTERFACE FOR CONTRIBUTING. Every software product should have this.
Within Novell, new apps are being written using Mono (not rewriting old apps)
trying to make the kernel people talk to the desktop people
City of Munich is using Linux and contributed about 50 bug fixes to Mono
If you compile a VB executable and copy it over, we'll run it. we don't have a native compiler for VB that is windows independent yet.
Java will JIT Java byte code or Jars and JIT it into IL and native code
20 Novell engineers
Mainsoft has a product that hooks into visual studio. they add a button that says deploy into J2ee server. recompiles dotnet code into java code and lets you run your asp.net apps on j2ee.
He showed a demo of how easy it is go internationalize gtk# apps by flipping a setting and having the whole thing appear in hebrew. somebody from the audience asked, what about Chinese? "That's a very good question, my friend! I don't know. But...hey, it's Chinese."
(Monodevelop) does not generate makeconf because "that's nasty."
Future: improve Unix, Gnome, Cocoa
Continue .NET/Java compatibility work
Improve development tools (monodevelop, mono debugger, mono documentation)
Beagle, Novell Dashboard
Bringing Google onto the desktop (we demoed this six hours before Apple did -- but in Norway in front of 300 developers instead of at Moscone Center in SF)
"I would have to admit that we suck because we don't have a debugger."
"This is probably not a problem for you because you come to oscon therefore you debug with printf, but the less manly of you would like to do this."
I have two teams working in parallel: one working toward mono 2.0 but that is far away. api not set in stone yet, so it will be a while. mono 1.1 will have some incremental features. windows.forms and vb are two.
my estimate right now (for mono 1.1) is feb. 20042005 so we'll freeze code by end of this year.
precise garbage collector: today we use boehm, we are moving to SportsModel (mozilla's).
SPARC v9 (64 bits) is done but didn't make it into 1.0
July 28, 2004 in Apple, Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
At OSCON in Portland
And I'm a flaming inferno of rage because the hotel (the Portland Mariottt downtown) is apparently unable to identify definitively how many rooms they have, since I arrived at noon today and they said they were overbooked. Overbooked? I reserved my room two months ago (a very uncharacteristically responsible move of me). WHAT PART OF 'RESERVATION' DO YOU BONEHEADS NOT UNDERSTAND?
Grrrrr.
July 28, 2004 in McManus World Tour, Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (1)
Write Open-Source eBay API Applications Now!
Last summer, Tim O'Reilly asked me and my pal Jeff Barr from Amazon to speak on a panel at OSCON 2003. The topic of the panel was "Web Services Bill of Rights." Tim's premise was that open source guarantees certain rights to developers (and, by extension, to users) that may become threatened in a world in which our applications interact with hosted Web services providers (like eBay, Amazon, Google, Salesforce.com, and so forth).
Great topic for discussion. It's why Tim has a Northern California Society of Technology Visionaries golden membership card while you and I have to work for a living. I liked the topic so much, I turned it into a job interview question: "There's a panel called Web Services Bill of Rights at this crazy conference of open-source developers. I am scheduled to speak on this panel in three weeks. Should I even show up?" This interview question was so effective that no candidate who was asked the question was ever hired. (I had to stop asking the question after a few months, but it cracked Tim up that we did that.)
I was honored that Tim asked us to speak, but some of my cow orkers had concerns — should we even be participating in this kind of conference? What do open-source developers have to contribute to eBay anyway? Is there risk in evangelizing the eBay API (an offering that is not-free as in free beer and not-free as in freedom) to this audience? Would a penniless hippy open source developer even plunk down the $100 fee we charge to go live with an application? At that time, our program had been in existence for a few years but but it had only been open to the general public and free to sign up for a month. What if somebody asked a question we weren't prepared to answer?
Needless to say we did the panel and all went well. The only hard questions asked by the audience were directed at Jeff, typified by a clueless and off-topic bomb tossed by Dave Winer, who tried to take poor Jeff to task for the fact that Amazon is a "patent abuser" (Winer's words). Somebody did ask me why the source code for eBay isn't available, but the audience laughed at him. The point is, any schlub can write an online auction engine and many schlubs have — eBay itself was written over a three-day weekend by a Perl hacker — but the value in what eBay provides isn't in the software, but instead in the marketplace, so even if you could gain access to the source code, you wouldn't necessarily gain much — it certainly wouldn't guarantee the kind of "right" that Tim talks about.
That said, there is plenty of open source in eBay's DNA — most notably Apache Axis, but other stuff as well, including Perl and PHP.
Fast forward to January of this year, when this thread appeared on the Gentoo Linux discussion forums — legions of rabid Linux developers are mad for a Linux eBay listing solution! Woo hoo! The most interesting thing about this thread was that so many Linux users and developers were surprised and gratified that I would take the time to sign up for the Gentoo forums and start posting there to answer their questions and help them out. In other words, while we were sitting around wondering whether open-source developers would accept the eBay API, these guys were sitting around wondering whether we would accept them.
The Gentoo project never got off the ground — the choice of C++ for a language wasn't the best, I think, but more importantly, the organizer whipped the crowd into a frenzy, then disappeared into the wilderness without checking in any code — seems like there should be a specialized geek pejorative to describe this scenario. But the discussion we had with those guys was very instructive. We learned that there are many Linux users who don't want to use a Web app to use eBay — Web apps are not responsive or rich enough, and eBay.com is not customizable enough or optimized for high-volume selling. These users should absolutely be accomodated. At the same time, even if we lived in a world in which Linux were deployed to, say, 10% of desktops around the world, the extent to which eBay would support them would probably be limited to a Web site called eBay.com backed by an XML-based API. This leaves it up to the community to make rich eBay tools on Linux happen.
So I am here to say that there is absolutely no good reason why open-source applications that use the eBay API on any platform do not exist. Somebody just needs to build them.
There's certainly no legal reason. (We don't care how you license your app as long as the way it works adheres to our license agreement and our published set of certification best practices.) Funny story: earlier this year I was working on a project that required approval from our legal department for something. One of our mucky-muck attorneys asked me, unprompted, "are you going to open-source this when it's done?" I was taken aback, but I shouldn't have been — the attorney realized, correctly, that the code isn't what matters. For us, the marketplace is what matters, not the code. The code only has value when it's shared promiscuously.
To make open source projects happen, somebody has to step up, do some work, and make some judgement calls. I'm happy to do this, but I'm not comfortable taking something like this across the goal line myself, because I don't think that one guy working on an eBay API app in his off-hours is going to produce the best possible outcome. I have done a few things, though. I realized after Mono got close to shipping that C# might be a good choice of language because it would theoretically let developers target Windows, Linux, Max OS X and others, and because C# is a kickass, high-productivity language that your friends will not make fun of you for using. So I started a project on Novell Forge as a place where a hypothetical cross-platform C# eBay API application could live. There's nothing checked in there yet, unfortunately, which probably makes me as bad as the Gentoo guy for sucking all the oxygen out of the project.
But! To prove that I am not a complete loser, I have released a couple of command-line utilities under Creative Commons licenses to facilitate chores like downloading the eBay product category taxonomy. I've also filed bugs (like this one and this one) against Mono (at the moment it may be possible to use Mono to build eBay API apps, but you would have to use the post-1.0 release bits located in Mono's CVS repository). I have bad brains for CVS, though, which hinders my ability to see whether late-breaking fixes to Mono have resolved issues (cited above) that prevent you from using it to write eBay API apps today. My CVS impairment also keeps me from posting my code to SourceForge or Novell Forge (I realize that I am a doof for letting this be a barrier; it's just my little cross to bear).
My fantasy is to create a code repository backed by Subversion (which I do grok, and use daily) with a slick Web front-end that enables eBay API developers to create online workspaces and work jointly on projects — like SourceForge or GotDotNet.) They will share code, create great apps that no one has ever seen before, save people time and help make their businesses better. Following that will be universal peace and harmony, and then we will sit down and have sandwiches. Afterwards, there will be massages and naps.
July 20, 2004 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (33)
All About Subversion
Here's a really brief layman's description of the Subversion version control system along with some links to resources about it. Since this most excellent tool is approaching its 1.0 release, you might want to check it out, if you're into that kind of thing. I'm not as well-versed with Subversion as I'd like to be, so feel free to post a comment if I got anything wrong.
I'm really interested in the way people organize information and, in a more general sense, how technology can help people work more intelligently. Using technology to get more organized really pumps me up.
I'm really fascinated by version control systems. I think SourceSafe reeks, but that's not news; everyone who uses SourceSafe thinks it reeks. I used a commercial product Perforce for a while and I liked that, but it's kind of expensive ($750/seat) and a lot of purists don't like it because it, like SourceSafe, uses locksexpects that you'll use locks, although it apparently doesn't require locks by default (see comments).
Locking version control systems force you to check out a file to edit it. Locking is good because it means that two people can't muck with the same file at the same time, but it's bad because two people can't muck with the same file at the same time. And if I check out a file, go to lunch, and get hit by a bus, you are hosed, at least until you can track down a repository administrator to release my lock on the file.
The most prevalent version control system in the open source world today is a free product called CVS. A lot of people think it reeks too, but they continue to use it because it reeks less than all the other stuff out there. (Like other ancient protocols which also reek yet continue to exist as part of the DNA of the Internet -- SMTP comes to mind -- CVS seems to have persisted for so long because it has persisted for so long).
CVS doesn't lock files by default. Instead, if you want to work on something, you just start working on it. If it should happen that I changed the file while you were working on it, either you or I can merge our changes to the file using software tools that are specifically tailored to that purpose. This enables projects to scale up to hundreds of developers without the need for a lot of centralized management -- perfect for open-source projects.
Subversion is a version control system that attempts to take the goodness from CVS (such as an easily automated command-line interface and a lack of locking) and get rid of some of its long-standing shortcomings -- such as the lack of 'atomic commits'. The ability to do atomic commits means that if you make changes to more than one file, you can specify that all of the files you're working on must be checked in as a single ("atomic") unit. In a world in which changes to multiple files often have critical interdependencies, this is a nifty feature. But there are other important benefits to using Subversion as well, such as efficient handling of binary files and an easy way to browse repositories with a Web browser (thanks to the fact that Subversion is built on top of the Apache Web server).
Subversion, like CVS, is also an open-source project. But unlike CVS, a lot of development resources are being devoted to it today. Subversion is currently close to a 1.0 release; its own team have been using it to store their own source code for many months now. They say that neither they nor anyone else have lost data with it.
I wrote this mainly to kick off a new category devoted to Subversion; I have a couple of projects I'm working on that I'd like to use it for. So I'm going to try to devote some time to learning it well.
The book Version Control with Subversion is the definitive book on Subversion. The pre-publication version is available free online today, but the book will supposedly find its way into print at some point (I think O'Reilly is going to publish it, and I understand that APress is working on their own Subversion book as well, which is great).
TortoiseSVN is a nifty GUI front-end for Subversion that provides deep integration into the Windows shell. If you ever wanted to right-click on a file and add it to a version control repository, TortoiseSVN is what you want. This is the tool that I use to do 99% of my daily interaction with Subversion.
There is a Visual Studio .NET add-in for Subversion called AnkhSVN.
Subway is a project to create an SCC provider for Subversion. SCC providers let you get to a source control system from development environments that supports Microsoft's SourceSafe integration API (this means Visual Studio and Visual Basic, but also others such as Macromedia Dreamweaver). This looks like it will be a great choice if you have existing SourceSafe users that want a relatively seamless upgrade path, but it also looks like this tool is a work in progress; the first (and only) release was put out in April 2003, and the last update to the Subway Web site was in June 2003.
Subversion has its own client API for C/C++ that you can use to integrate Subversion repositories into your applications. Here is an article by Garrett Rooney on using the Subversion Client API. Here is part two of that article. The full Subversion API documentation is here.
Updated 28. Dec 2003 to reorganize and provide more details for Subversion utilities for Windows, in particular the indispensible TortoiseSVN and the unfortunate not-ready-for-prime-time-ishness of Subway.
October 19, 2003 in Collaboration, Content, Community, Open Source, Subversion | Permalink | Digg This! | Post to del.icio.us! | Comments (10)
Go Mono!
Novell bought Ximian and with it the Mono project. Last weekend at Foo Camp I spent a little time with Nat Friedman, one of the Ximian guys who is going to continue to manage the project under the new corporate parent. They're devoting new resources to Mono, which is great to hear -- he's off to Bangalore this week to add 10 Indian developers to the Mono project. He posts about his trip on his weblog.
October 17, 2003 in Open Source | Permalink | Digg This! | Post to del.icio.us! | Comments (0)
Mozilla Firebird 0.7 Released
Somebody asked me why I thought Microsoft is losing the browser wars once again? It's because Mozilla Firebird is the best browser for Windows. Get the new version here.
October 15, 2003 in Open Source, Web/Tech | Permalink | Digg This! | Post to del.icio.us! | Comments (0)