« Back to .NET Framework SDK Beta Download is Out | Return to Main | Ahead to C# on the Mac Marches Up the Hit Parade »

Yo! This blog has moved. Please join us over at the new blog located at http://blog.jeffreymcmanus.com.

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

There is no way to develop usable Free software. For someone to actually develop Free Source software to use with Ebay they have to shell out a "Self-Certification fee of $100, if you decide to Self-Certify an application ("CERTIFICATION FEE")" and "After Self-Certification, free Production usage limited to 50 API calls per day. All calls over this limit shall be blocked for the remainder of the day except AddItem and RelistItem API calls."

So to use the individual license and say somoene can write free software is a pile of horse puckey. Ebay is a closed community as far as I can see, locked down behind incredibly high licensing fees for API access.

I can see why there is no Free Software written for Ebay. Ebay actively discourage it with the license fees.

The other sites you menioned do not hide behind fees, they do sometimes require registration, but they don't use money as a requirement to join, or define classes of users and limit accesses. They may require API keys to monitor usage for abuses, but they don't actively work to lock people out.

Peace.

Posted by: John Beimler | Jul 21, 2004 9:22:19 AM

You're confusing free-as-in-free-beer with free-as-in-freedom.

Read the Gentoo thread I linked to in the post. The question of "why do you charge for the API?" was asked and answered early in that discussion. It wasn't an issue for the open source developers in that forum after I explained it to them, and I've talked to more such developers afterward who came to the same conclusion -- a one-time $100 certification fee is not a big deal, unless you're arguing on principle that it's a big deal, in which case there isn't a lot we can do for you.

The answer to "why do you charge?" is because we need to do server-side capacity planning and imposing a nominal fee with usage limits happens to be the easiest way to do that. (If you ran a server farm like ours, you'd need to address this problem sooner or later as well.) But even though we're serving up data to your application for a theoretically unlimited amount of time, the $100 fee is one time only, and the limits don't apply at all for calls intended to list items for sale (AddItem and RelistItem).

If you need to make more calls per day than what's permitted under the individual tier license, our cheapest commercial license is $500/year -- $42 a month, which is less than what I pay for DSL at home.

Almost nobody objects to the way we charge for access to the API after it's explained to them this way, and this was borne out by the discussion in the Gentoo forums. Yes, you can't give away applications written in this manner (in the same way that you can't give away free beer from your refrigerator to the entire population of Akron Ohio or give prison inmates unlimited access to your cel phone), but there's nothing prohibiting users of your application from joining the Developers Program themselves, certifying the app on their own, paying the $100 fee, and going for it.

It's all a matter of what you find valuable. If you don't think that having your own customized eBay app is worth a one-time fee of $100, then there's a perfectly free (as in free beer) way to use eBay. It's called eBay.com.

Posted by: Jeffrey McManus | Jul 21, 2004 9:46:12 AM

Also, every site limits access in some fashion, we're just more up-front about it than most. Amazon, for example, limits you to one call per second. If you try to make more than one call in a second, you get an HTTP 500 error.

Posted by: Jeffrey McManus | Jul 21, 2004 10:52:47 AM

People already pay to use Ebay. (http://pages.ebay.com/help/sell/fees.html) The API access is another attempt to generate revenue.

Pumping XML back and forth to my computer should not cost *more* than using the graphics heavy, unaccessable non-validating Ebay web interface.

I can understand limiting people to a number of accesses, you don't want me building a different Ebay site fronting it with the API, as is the same for Amazon and Google who limit queries, *without* a fee.

If some person or application starts hammering the server, disable them, or point them to a fee based system.

Someone should mention to management that more traffic, no matter the source will mean more income.

The $100 can be a show stopper. I don't need an Ebay app. It might be fun to write one for people, but the support level would be too extreme, since I would have to explain to countless clueless users that they have to go through the developer certification process.

The $100 is also more than I would pay to a commercial windows app to run with Wine, so why even waste the time.

Free Software developers are for the most part, very inteligent people. They see where they aren't wanted, and will go where they are. The fees make it clear you don't want Free Software that will help drive more traffic to Ebay.

Best of luck, but creating barriers is why there are so few EBay API projects out there while there are many Amazon, Google and Salesforce.com Free Software projects. I would guess it is also why the projects die on the vine.

I know, I had a Free Software based listing tool started, and had designed the user interface while on vacation. Once I got back online and found the API page, and the costs, I dropped it. I'm not going to share with people who aren't going to do the same in kind.


Peace.

Posted by: John Beimler | Jul 21, 2004 11:19:32 AM

If the API were an "attempt to generate revenue," we'd be charging much, much more for it. (In fact, we used to charge much more for it in the past.) As I mentioned previously, charging a nominal fee is just an easy way to manage server load.

If the $100 fee is a show stopper to you, then you're better off just using eBay.com, seriously. My point was that there are a lot of developers for whom that fee doesn't seem to be an issue.

So let's figure out what the issue really is and move on from there to get something cool built. Otherwise, Linux users (and .NET compact framework users, and Mac users, and others) will just be sitting there moping in the corner while Windows users build kickass eBay businesses with custom tools.

Posted by: Jeffrey McManus | Jul 21, 2004 12:58:38 PM

I too followed the gentoo thread with great hopes and have also been thinking about developing an ebay sellers tool for Linux. I'm thinking of something targeted to the mid-size / higher volume sellers. However, I do question the focus on C# as the language to build the software, considering the state of Mono (No Windows.Forms) or Portable .Net (nowhere near ready). Wouldn't java be a better choice to focus effort on? Another key issue to look at would be choice of database engine.
I'm not as concerned about the user fee, because it would be a small investment to the target users in exchange for the flexibility an open-source package / framework would provide.

My 2c,

Geoff W.

Posted by: Geoff Williams | Jul 26, 2004 7:24:42 PM

Hey Geoff, thanks for checking in -- I think that Mono will be a great choice soon, although I agree that its current maturity level makes it not the greatest choice today. I suspect that once the team makes the few tweaks required to their HTTPS and SOAP stacks I'll be able to recommend it unconditionally.

To clarify your point, Mono does have support for Windows.Forms but it isn't slated to be complete until the end of this year; at the same time Mono has a forms package of its own (GTK#) that works cross platform (Win/Linux/Mac) and is more mature, as I understand it.

I think that there are performance and programming-complexity issues with Java on the client side that make it a nonstarter for most purposes. But that's just my opinion; it's entirely possible that some Java wizard will come out with an amazing eBay Java client at some point. I just suggested C# because of its characteristics (high productivity and low embarassment level) as well as the fact that folks are working hard to make it cross-platform.

Posted by: Jeffrey McManus | Jul 26, 2004 10:08:01 PM

I really don't have a problem per se with the API access fees. The problem I see is *how* the structure of the fees inhibits the development of OSS clients. As it's structured now, in order to use the "personal" license, any person who wanted to use the client would have to compile it themselves (in order to incorporate the developer number), and then would have to pay $100 just to use it themselves. For that kind of money, we'd be better off going en-masse to Crossover Office in sufficient numbers to vote TurdboLister or MrPoster as high-priority applications. Either that, or take our business to Yahoo Auctions or some other service which doesn't put such a high price on allowing us to do business with them.

What eBay needs is a licence that lets sellers pay for the access fees directly. What an OSS project would do is develop the app, which would then be actvated by end users. The "developer ID" would be one that eBay would recognize as a "seller paid" account, and merely add the appropriate access fees to the rest of the posting fees & commissions they already charge. This way there's only a handful of application variants (or even just one if the one is good enough), and eBay doesn't even have to set up seperate billing accounts, as a seller would have to have an account already.

The major problem I'd see with this is for commercial products finding some way to cheat by using this ID for themselves (such as a proprietary package which the end user pays for, or is supported by advertising revenue, but yet the end user ends up having to pay access charges as well). Unfortunately, I'd see that as a solution for the legal rather than technical department.

This merely relies upon eBay taking the time to come up with clever and customer-friendly solutions, and from what I've read on the eBay forums and seen in AuctionWatch, etc, eBay seems unwilling to do so, and would rather compete with the likes of Microsoft, SCO, etc for the title of "Most Obnoxious Vendor".

Posted by: James E. LaBarre | Jul 28, 2004 7:48:56 AM

Again, you're confusing freedom with free beer.

Presumably you pay a certain amount of money per month to an ISP for connectivity. So do users of your applications. Why doesn't that also prevent you from creating applications?

Turn the argument around: Let's say that you go develop some kind of wireless telephony application. May I then have access to your cel phone account so I can use it? Because otherwise it wouldn't be free, you see, and since you provide the software, by your reasoning, you should be on the hook for providing the infrastructure for free as well. Right? Am I missing something?

At any rate, the point (which I've made a few times now) is that I've spoken with many open-source developers for whom the fee isn't a big deal. If it's a big deal to you, then you should just use ebay.com, simple enough.

Posted by: Jeffrey McManus | Jul 28, 2004 1:25:26 PM

No, I'm not confusing freedom with free beer. As I said, I have no problem with eBay making a profit, and have no problem with fees that cover costs. What I'm saying is that the licencing structure, etc. is counter-productive as far as developing OSS versions goes. Some re-thinking on the management's part could *still* get them the fees they want, while provodong value for the users.

As for the excuse of "using ebay.com" goes, it is **SO** slow to use the web front-end as to be useless for any attempt at volume. And the slower it is to post auctions, the less people will sell on eBay, and the less money eBay makes in the end. If eBay is happy with putting roadblocks in the way of potential customers, that's also fine. Bit they better not complain afterwards that everyone is abandoning them for other, more customer-friendly auction sites.

Quite simply, I have people who list on eBay now who would like to increase their listings, but the only way to speed up the process is to use an offline listing tool. But the heavy dependencies on MSIE for all the proprietary tools collides with securing their systems by lobotomizing MSIE. Which is why there is the need for an alternative posting tool, which is most likely to be one righ with OSS tools. But without some co-operation from the high mucky-mucks at eBay, it's simply not possible. And quite simply, if it comes down to a choice of using the slow & troublesome web front-end on eBay, or using some Linux-friendly posting tool for Yahoo Auctions, etc., I'll recommend the latter every time.

But this isn't _supposed_ to be a gripefest; rather, I see issues with the implementation. But from past performance, I don't see eBay being willing to listen.

Posted by: James E. LaBarre | Jul 28, 2004 7:25:58 PM

Your assertion that we intentionally make the selling process slower is silly. Why would we do that? It's true that the site is optimized for beginning and intermediate-level users because that's the biggest population of users on the site; if you ran the site, you'd do it that way too. But the API is based on XML and we don't do anything that's specific to IE as you assert.

Posted by: Jeffrey McManus | Jul 28, 2004 11:41:24 PM

I did not say it was an *intentional* move to make the web front-end sluggish, but the fact that it *IS* so bad as to be unusable for volume usage, *combined* with eBay's unwillingless to address customer complaints, effectively puts roadblocks up for users. Using TL is impossible on anything other than the limited, default, very-hackable Win32 config that the management has grudgingly allowed the developers to support. It's why I'd like to see an OSS alternative.

But as I see it, the entry requirements are too high. The base application can be developed openly, but could never be distributed as a compiled version as compiling would require building in a developer nunber. So that means *each and every* end user would be required to fork over $100 (out of the price range many users are willing to spend), PLUS they'd have to compile the app themselves. And it would cost eBay plenty in terms of having to re-certify the same app over and over again. The alternnative would require an organization which would have to collect dues for downloading and using a centrally managed application merely to cover the cost of the licence & API fees. At this point the app seems to be swiftly exiting the realm of OpenSource.

It's why I still think eBay should shift to a *user based* billing, and that way the development could be done openly, source provided openly, but the resulting compiled application would merely be activated and paid for by the seller's ID, which would need to be configured into hte application anyways.

Posted by: James E. LaBarre | Aug 2, 2004 9:20:22 AM

You're (still) conflating the open-source sense of free with the cost-free sense of free.

There's no requirement that end-users compile applications themselves; I'm not sure where you got that impression. Under the scenario we're discussing, users would have to pay a $100 one-time fee for an individual license. That's way more than some people pay for eBay tools, by the way -- a lot of our developers charge sellers a percentage of the final value of the items sold, and nearly all of them charge a monthly subscription fee -- not saying that's good or bad, just pointing out that it exists.

If that's not worth it to you, then simple, just don't do it. You should use one of the free tools we provide, or just use the Web browser.

Posted by: Jeffrey McManus | Aug 2, 2004 11:13:56 AM

RE: many Linux users don't want to use a Web app to use eBay — Web apps are not responsive or rich enough

Reviewing next week's events got me to remember the above comments from Jeffrey.

This coming Tuesday August 10, a panel in the SF Bay Area will be covering this, how the HTML-page centric model has its limits and how some have began moving towards Rich Internet Applications. It's sponsored by BayCHI, a monthly group dedicated to user interface and usability issues. BayCHI talks are open to the public for free.

Visit http://www.baychi.org/ and look for the talk entitled "Reading the Technology Tea Leaves: Is a Rich Internet Application in Your Future?"

Posted by: Glenn Mandelkern | Aug 5, 2004 12:25:59 PM

No No No No NO!!!!! You've been hanging around eBay management too long already, and have had to been forced to close your ears and stop trying to discern logic from your surroundings in order to avoid going insane. Understand this: EBAY IS WITHIN THEIR RIGHTS TO MAKE A PROFIT. There, are you happy now?????

What I have been trying to say, and you haven't been able to understand, is that their structure is absolutely counter to any workable effort to create an OpenSource application. Period. The only options are to *hope* for the EXTREMELY unlikely event that eBay will develop a cross-platform app usable in the *real* world (and by "cross-platform", I mean other than their definition of CP which means it will run on Win98 & Win2K). Pay eBay $100 just for the privilege to build my own app? I'd far rather spend the money on Crossover Office, where it'll do some good. If enough potential eBay customers did that, and voted for TurdboLister (or Auctiva MrLister) support from Codeweavers, Codeweavers would put their development efforts into making one or the other work. The added benefit of that path is that it would likely be useful code for making other PITA apps work as well.

Of course, the best option seems to be moving more and more towards finding an auction site which doesn't think the definition of "customer service" is to find more and creative ways to stick it to the customer.

I was hoping to see this proposal show some sign of logical thinking coming from at least someplace in eBay, but you have failed to convince us that eBay can provide any more than a continuous stream of broken promises. So I'll once again give up on the hope of seeing a USABLE bulk-posting tool, stop wasting my time here, and take my business to Yahoo Auctions, etc.

Posted by: James E.LaBarre | Aug 16, 2004 8:39:53 PM

This whole notion of "broken promises" suggests to me that you have a chip on your shoulder with respect to eBay that may transcend our little debate here. But here's a promise that I won't break: If nobody certifies an open-source eBay API application by February 16, 2004 (six months from now), I'll pay you $100. (The flip side of that is, if somebody does certify an open-source app in that time, you must eat your hat.) Deal?

How is the customer service over there at Yahoo Auctions? I'm actually kind of interested.

Posted by: Jeffrey McManus | Aug 16, 2004 9:01:57 PM

I've been considering developing a full seller management package for my small business. I have a simple proposal I'd like the two (loud :P) voices on this thread to consider. Would it be terrible for eBay to change its licensing structure just a bit to allow the following:
1. application built by anyone
2. application gets certified through eBay that it works efficiently and effectively
3. application is either used privately, marketed publicly or given out freely
3. eBay member either gets free version or purchases it
4. eBay member purchases an API access license of their own from eBay for specific certified application
5. eBay member retrieves license info from eBay and installs into application
6. eBay member uses application for its intended and certified purpose
7. eBay member is charged for all usage from application with their license

This way an eBay member has all usage charged to him directly whether using the application or the ebay.com website and does not need to deal with the seller/provider of the application. I know many eBay sellers that would love to purchase a desktop application (web-based are slower), signup to use it as a lister and pump eBay FULL with EVERY item they could possibly sell. eBay then charges for certification once per application, charges licensing per user which can be tied into the eBay member account and separated from the developers of the application in question. Obviously updates become important concerns but a properly written application can update itself and notify the user when it is necessary.

The big questions: Why must someone REcertify an application that has already been certified before? Isn't certification to certify the application functions correctly and efficiently following eBay's specified guidelines? Why not just purchase a license to use it with eBay? Isn't licensing providing use to something? Why are they linked so tightly on eBay?

I know plenty of sellers who use eBay enough to NEED a solution more powerful than the ebay.com website that are not skilled enough with computers even to understand an explanation involving certifying an application you provide for them.

It is great that eBay has an API developers can utilize. Is the above situation completely against eBay's interests? Would it not help?

Posted by: Eli Doran | Aug 31, 2004 8:41:44 PM

What an interesting thread this has been!

I have found it amazing to see two apparently logical individuals completely ignore or mis-interpret what the other has said.

What I have heard the eBay evangelist say is that:
- eBay charges 1 time for the certification of an application, and that multiple individuals can install said application that uses the API onto their computer and access eBay for a 1 time fee of $100.
- I have heard him say that this does not reduce the potential market for said API (and citing "discussions with 'many' developers", however many that is).
- He has toe'd the company line and stated that this is not a "profit making" venture, but an effort to manage traffic and server load.

The developer on the other hand has questioned these premises and has made the following assertions:
- He believes that each time the application is installed it will have to be compiled and obtain re-certification...which he feels in inefficient (if this is true, I would have to agree)
- He has asserted that the load on a server from a lean application is MUCH LOWER than that of a browser call, heavy with graphics, and so he feels that the server load argument may be invalid. That may be true, but the true point may also be the business decision made way above this evangelist's pay-grade...
- He has asserted that the fee structure would make it impractical for the typical developer to have any interest in creating apps to connect to the API, and too steep for the average user to swallow when there are other options that are cheaper...

I have a couple of comments:

While there may be a business reason to charge for this API, eBay is not an ISP...the ISP analogy does not wash...my Internet provider does not profit from my activities on their service, therefore they can charge without complaint. eBay gets a little bit from each of the millions of transactions that it facilitates. Apples to Oranges!!!

While the concept of Freedom compared to Free Beer is an important distinction, it is not a club with which to bash a potential vendor.

While not all of the eBay arguments may seem sensible to you, the horse that continually bites the hand with a carrot, usually doesn't get offered a treat...

The questions and comments on each side of the argument bear consideration...each of you put on the other's shoes...it would be great to see some compromise or at least solution exploration.

Not that anyone asked...but my 2 cents.

"Visualize Whirled Peas"

Posted by: Mark W. Martens | Sep 20, 2004 1:18:43 PM

I also see both sides having valid points. I lean a bit more to the disgruntled coder and agree that recertification is senseless. I have also experimented with much open source software which is freely available for download and use and have come to apreciate that this very free availablity drives much of the development of the projects with user feedback and suggestions. Why would anyone want to pay $100 for an application in progress? Yet I see that using the software and giving feedback is one of the major factors on the continual development of an open source project and even encourages others to expand on what has already been started. The current structure seems to discourage this kind of free developing (free developing has led to some very nice solutions). I for one would be willing to pay the $ and work with a group to make this happen but I think that changing the current structure would shorten the development curve. It seems that it may be effecting the overall cooperation of an open source project for an ebay application.

My two cents added to the pile.

Posted by: Simon | Oct 5, 2004 12:02:26 AM

I stumbled on to this page a number of months ago. At the time I had just discovered Linux and was looking for a TL equivalent. It's sad to see the sourceforge project mentioned on the Gentoo forum has fizzled out. Right now there are only two applications that make booting my win32 box necessary (and TL is one of them). I sell vintage collectibles and antiques on ebay. I know next to nothing about writing GUI apps in C++ but have built myself a fairly good inventory management system in Perl that runs through a web browser, using MySQL. It's still a work in progress but I would be interested in releasing it in the near future. It currently uses screen scraping to pull data from ebay (which I know is not the best way to go about it). Listings are currently exported to CSV and funneled to ebay through TL. I do want to incorporate the API in my app to eliminate reliance on scraping and TL altogether but I need clarification on some points:

If I give my application away freely, along with perl code to access the API, does this breach the Individual-tier API terms of use? What if I sell my application? (of course the person buying it would need to pay the $100 API fee to get their own key).

After I release it I expect a LOT of rewriting to occur in the code. Mostly to get it do the things I want it to do at first but hopefully later on other users will be suggesting features & code improvements. Does self-certification require that I re-certify and/or pay another $100 with every change in my code or is the 50 calls per day limit the only "policeman" for the individual level?

Thanks for any light you can shed on the matter!

Posted by: Martin Evans | Oct 15, 2004 8:22:23 PM

The Gentoo project didn't really get off the ground for a couple of reasons. One reason was that the organizer didn't get critical mass because he went into it with a few unwise and non-negotiable premises about how the app should be done -- C++ isn't the best choice of language because it's harder to maintain and harder to find proficient coders to help you (besides the fact that there isn't a super great paradigm for Web development using C++). GPL is fine if you like, but it will scare away businesses that want to contribute. And there are such businesses, plenty of them -- they're just looking to us to get things off the ground.

I think Perl is a good choice for this kind of app. I think Python is a great choice too which is why I am working on pyeBay when I get time (see ebaydeveloper.typepad.com/pyebay.html). I originally thought that Mono was a good choice but I'm still filing bugs against it on various platforms (I have a sample that calls the eBay API on Mono from Windows and Linux, but it doesn't work on the Mac). Python seems more mature today and because it's such an incredibly productive and flexible language it would be my choice if I had to go all the way with this kind of app today.

YOU CAN ABSOLUTELY GIVE AWAY YOUR APPLICATION. Just don't give away your developer keys. You're right that others who want to use it would need to pay the $100 to certify it. This process is simple and fast. We *want* people to do this.

You should not need to re-certify unless the functionality of your application radically changes. At the individual tier this is not usually an issue.

Martin, please make sure you certify your application by Feb. 16, and let me know when you do it, so I don't have to pay James the $100. (Also, so I can hold you up as the conquering hero of eBay open source applications.)

Posted by: Jeffrey McManus | Oct 15, 2004 8:49:29 PM

Haha, I'll see what I can do about a Feb 16th deadline :-) and if you think my project is worthwhile and find it in your heart to donate some of that $100, then great. James could even send me his hat instead of eating it.

Okay, so I can *give away* the application but I'm still not sure on the legality of charging for it in some fashion or soliciting donations. I thought the individual tier API license stipulates that I can not sell my application. I realize selling access to the API is a no-no, but I'm still not clear on selling the code itself. I just don't want to get into this and end up with a stern cease and desist letter from the ebay legal dept.

It will be interesting to see how the things I can do with Perl's WWW::Mechanize module translate to the API. Currently I have a cron job that updates the auctions once an hour (that would be 1 call per hour through the API). However, it also grabs the feedback rating for each current high bidder which would be one call per item with a current bid. If the API doesn't return bidder feedback stats with it's single call to fetch the list of current auctions then I've blown the 50 call-per-day budget right there. My script also sends "item sent" messages to bidders and invoices through ebay's form. Taking this into consideration, 50-calls-a-day seems more and more limiting. I could have a hybrid library of code that calls the API as much as possible and uses WWW::Mechanize to handle the extra stuff, but that would violate the terms of the agreement, right?

As sellers, we try to list 10 items per day minimum so maybe with caching optimizations we could squeak by under the limit. Someone selling higher volumes probably could not. Personally, I'm unwilling to pay for a commercial license on top of the other selling fees we pay to ebay when we're not going to be selling API access to others to recoup the cost. I don't have a problem with a one time $100 fee though.

The one major drawback with my system is the amount of other stuff a non-technical person would need to install in order to get it working: Perl, apache web server, mysql, several perl modules, imagemagick, to name a few.

Anyway, thanks for your reply and I'll dig into my copy of "Ebay Hacks" to try and get started on integrating the API into the project. I'll post here when my project is released. BTW I'm a self-taught "hobbiest" programmer who has never released a large scale project before, let alone an open source one, so this will be interesting :-)

Posted by: Martin Evans | Oct 17, 2004 6:15:17 PM

>>Okay, so I can *give away* the application but I'm still not sure on the legality of charging for it in some fashion or soliciting donations. I thought the individual tier API license stipulates that I can not sell my application.

Just got off the phone with someone in eBay Legal, the code belongs to you, we can't tell you what you can do with it. The thing you can't give away access to is your license keys. We're pretty sure there's nothing in the license that prohibits you from giving away your app under an open source license (point me to the section of the license that does if you think it does, though). I'm going to take a final look at our license with our attorneys tomorrow to ensure that there isn't language in there that suggests that this isn't the case, but it's really not our business telling you who you can and can't give away your source code to.

>>I could have a hybrid library of code that calls the API as much as possible and uses WWW::Mechanize to handle the extra stuff, but that would violate the terms of the agreement, right?

It would, but more importantly, it will lead to a much less stable application, since the HTML you're scraping off the site can and does change every two weeks.

If you have eBay Hacks and are looking for more depth, you might want to look at Ray Rischpater's "eBay Application Development" (APress). It's an entire book devoted to the eBay API.

Posted by: Jeffrey McManus | Oct 18, 2004 5:55:57 PM

Oh! Just noticed you talking about the 50 call limit in your post above. Listing calls (AddItem and RelistItem) are not metered at any tier. So if you're writing a listing app you should be able to do just fine under a individual tier license unless you're doing something silly like calling GetSellerList every 10 minutes.

Posted by: Jeffrey McManus | Oct 19, 2004 8:43:54 PM

Jeffrey, you've missed the point.

The Open-Source bit is just so people can run it on whatever platform they desire. It's not so much about free beer as it is about long term platform availability.

As someone who uses ebay occasionally (like 4 or 5 times a year) it'd be great to have a GNOME applet to monitor my bids, but that's just not going to happen with your revenue model.

If I was trying to make money out of ebay rather than using to to buy gear that I want, sure the $100 would make sense. But in this model all you've done is to exclude the occasional user ("hobbyist") from convenience. And if ebay isn't convenient it gets used less. Guess who misses out?

People like Alex Graverly want to do something that interests them, but that also greatly benefits ebay - but it appears the short-sighted view of making a quick buck has got in the way. In this situation you've not only missed out on Alex's $100, but also millions of GNOME desktop users who could be using ebay more than they are today.

If the concern was abuse of ebay's API, why not follow the Google API idea of free cost but requiring registration? If more than X queries are made per hour/day/week, then block the requests? That way you get the extra business and removed the opportunity for abuse!

Posted by: EBayUser | Dec 9, 2004 3:07:15 PM

If it's true that it's all about running on whatever platform you desire, then I'm not sure what your objection is really about. We make it very easy to write an app on whatever platform you want. There are virtually no businesses in the world (besides eBay and a handful of others) that are open to cross-platform integration in this manner. The reason is because doing this in the right way isn't cheap or easy.

Like I mentioned on Alex's blog -- why aren't you raising these objections to the fine folks who run walmart.com? I, for one, feel oppressed by Wal-Mart's obstinant refusal to provide a free, GTK-based client that lets me optimize my ability to purchase Listerine online.

It would be great if we had resources to devote to helping people with their technology hobbies or experiments, but that's not really our business. I realize that's a tough truth to stomach, but if you were signing the checks, you might think this way too.

If it's true that there really are millions of GNOME desktop users who could benefit from eBay integration, then who are these people? What kinds of things are they doing with eBay today and how would a custom application really help them? Why is it in our interest to expend a potentially unbounded amount of resources to support them? (And it does cost quite a bit to serve up 1.5 billion XML/HTTPS hits per month -- try it yourself sometime.) Most importantly, in a world in which most people are paying, say, $40 a month to their ISPs, why is a $100 one-time fee such a barrier?

My sense is that if there really are millions of users who would use an API-enabled tool on GNOME, then someone (maybe us) is utterly blowing it by not supporting them. At the very least, if what you say is true, then there is a golden business opportunity here for somebody (or a motivated group of somebodies) to pony up $500/yr for a commercial license and create a listing tool for this huge audience. In a world in which businesses seem to be stepping up left and right to provide commercial support and development of open-source tools, why doesn't somebody pursue *that* opportunity?

Our sense (which may be wrong) is that the fee is a barrier because the kinds of developers who object to the fee are doing a very small volume of buying or selling, so the value of having API integration doesn't outpace the amount it would cost. (In which case, you should find the eBay experience within Konqueror to be quite adequate.) But I'm totally open to alternative explanations if that's not the case -- educate me!

Posted by: Jeffrey McManus | Dec 9, 2004 3:44:59 PM

Why not stop charging the developers for the api use and have a several tier subscription model for the person who actually uses the app? say if they are using it strictly for bidding give them x number of items to watch for free, if they go over that then have a charge somewhat like a magazine subscription. For sellers it could work the exact same way.

This way the app gets developed and used for free by some, but the serious ebayers pony up a few bucks a month and the money goes directly to ebay, and it keeps coming in. Don't businesses nowadays like the subscription model revenue stream?

I'd personally love to have an applet that tells me things about my bids - flashing when i get outbid or what ever. But since I only buy 10 times a year I wouldn't want to pay for it. Others however would pay quite a bit for something like this, and in the true spirit of open source it "scratches a developers itch" to build it. That is probably why you aren't seeing the developers wanting to pay for the api key.

Besides, there have to be plenty of ways to make money off this thing, even if you did give it away for free. You are capturing buying habits, you can give targetted advertising like google does, etc.

But anyway, the web interface will do for now.

Posted by: dan | Dec 10, 2004 6:24:27 AM

Passing through API charges to users is something we've been kicking around for a long time. It turns out to be fairly expensive to build and administer, and it's far from clear that it would make a huge difference in terms of getting buyers and sellers to increase their activity on eBay. But most importantly, when we ask developers if this would make a difference for them, their response is "eh, maybe".

We don't have a problem with people wanting to pay for access to the API, we have a problem conveying our value to open-source developers specifically. It may be that we're not providing what open-source developers need, or it may be that the value (defined as getting a benefit for what you pay) just isn't there. We can work on the first thing, but there isn't a lot we can do about the second, since the value of the API is going to be a function of how much you use it, not how much it costs. (If we charged $5.00 lifetime for API access, I suspect we would still be having this conversation.)

To be clear, contrary to what you said, we *are* seeing plenty of developers paying for access to the API, many for individual or private (integration) use, others who create commercial apps for use by buyers and sellers (see http://solutions.ebay.com). The number of developers in the program in the last year has increased by 30X and the number of live applications has increased 8X. This is healthy growth even by eBay standards.

You've got a good point about the subscription model; it's how most of our developers price their eBay applications today. SpareDollar is a terrific example of one that's very economical -- just $4.95 a month and they have fanatically loyal customers.

If you only need 10 outbid notices a year, then processing the email outbid notifications we send out or using My eBay is going to be your best choice. Building an app just for that probably won't be worth it.

Posted by: Jeffrey McManus | Dec 10, 2004 9:19:33 AM

Oh, and about the targeted advertising thing: that's a business model for lots of developers today. Check out http://affiliates.ebay.com for more details on that.

Posted by: Jeffrey McManus | Dec 10, 2004 9:20:43 AM

I'm not an eBay seller, I'm not even a regular buyer but I have a fascination with how A can be made to talk to B over the net and eBay is certainly a site that would be interesting to talk to.

What I'd like to write is an app (probably to run from a cronjob) that can search eBay for certain things and email the results to me. That way I can make sure I don't miss things I want that only crop up rarely. I'd also like to be able to make a bid using my hypothetical app (email->bid?) but as we all know that's not possible through the API.

While I understand the reluctance to introduce a bidder API I would like to discuss it briefly. The problem with 'sniping' is (as I see it) largely caused by people failing to understand the auction process. Many people seem to put in the minimum bid required to make them the high bidder and wait to see if they are outbid. If they used eBay 'properly' they would just put in their maximum bid at the start and if someone snipes them with a higher bid then they haven't actually lost anything. If someone tries to snipe them with a lower bid then they still win. Educating people on the 'correct' usage is probably a waste of time but a technological limit on a bidding API (e.g. no API bids in the last 10 minutes of an auction) would at least stop it from being used for sniping.

I'd be interested in your thoughts.

Posted by: Gayle | Jan 19, 2005 3:54:45 AM

I am confused about this $100 deal. If individual users have to pay $100, how is 'The Poster Toaster' free?

I converted part time to linux in '99 and about 98% in 2002. TL is about the only app I use windows for at home. I even do my gaming in linux.

I've been following the various threads concerning an alternative to TL for linux users for a couple years now and have some thoughts on the subject.

For starters, even though I have the question about The Poster Toaster above, the $100 is such a non issue for me. I'm not a huge seller(~400 in 3 or so years), but I'd gladly pay the $100 one time free for a linux app. I did try to get TL to work with wine. I did actually get a couple auctions to list that way. But I discovered that the normal problems with TL that happen in windows happen more often in linux and are magnified. In short messing with the Access DB just didn't work well. Anyway, I eventually came to the conclusion that I want to switch from windows altogether and not run windows apps in linux.

I really think using the API should be free as in free beer after ebay certifies the app. The more people listing, the more ebay makes. In other words the $100 should also be such a non issue to ebay as well.

I'm a programmer, kinda new to the web world, and first thought about scraping so I didn't have to mess with the api. I soon realized that wasn't a good solution.

In my opinion, the real answer here is for ebay to use cross platform technologies for it's TL app. There are plenty of them available. For starters use a different backend database.

Having said that, I don't see why the community would wait for ebay to make the app for us. Maybe I'll mess around here myself.


Posted by: Jason Dodd | Mar 1, 2005 5:48:28 AM

Regarding sniping. I'm a sniper but if I ran an auction site, I think I'd modify the way the auction works. I like the idea of not ending an auction unless 1 minute passes without a bid.

Posted by: Jason Dodd | Mar 1, 2005 5:53:55 AM

Would an open source app need to be recertified if it had been patched from a certified version ?

If this is the case then i can't see anyone wanting to develop a cost free application when they have to pay 100 dollars each time its patched.

The google api model seems to be fine for me , i have made extensive use of it , had there been i
price tag i would have resorted to site scraping.


I think you argument about covering your data provision cost is fairly sound although i'd like to know what impact people site scraping ebay has on the data center .
How does the amount of money you could save on provision costs by providing free use of the api to the site scraping hordes compare to the revenues gained by charging for the api.

Whilst i respect your right to earn money from your inventions i think you should help people
who are essentially going to make you more money
than they will make themselves.

If you created a series of libraries for several major languages that contained flood protection
and other policy implimentation measures you would
have all the security and management features you needed and in a short time a leap in ebay sales revnues to cover the cost of increased data transfer and api development.
I'll gladly do the Perl one for you if you want :)

I think one of the reasons people like ebay is because of the simple business model and the fair pricing levels mean people can learn how the system works very quickly and trust it .
This API licence is damaging that reputation and
to me feels like an abuse of that trust.

Posted by: Amias Channer | Apr 13, 2005 8:48:28 AM

The comments to this entry are closed.