First off, excellent idea. It seems simple and straightforward to automate web site interaction, especially for those lacking APIs (e.g. my stoneage bank, to check for telegraphic transfer payments).

But I'm torn. On the one hand, I support developers getting paid for creating tools/libraries (instead of working on in-house software; or consumer/business startups). I think it's better for the world. It's also how I've supported myself for the last 10 years.

On the other hand, I don't like your email-wall etc.

As I see it, you need to serve two markets: the businesses that will pay for your software; and everyone else, who won't pay, but will promote it word-of-mouth/google juice, through blog posts, stackoverflow answers, reddit/HN posts/comments etc etc etc (this is incredibly helpful for getting sales). Thus, you need to serve both, and make it both easy to buy, and easy to not buy.

1. Your email-wall is one solution. People can still get it free, they just don't like. I think it will fail (but it might work, who knows?)

2. Another way is two versions: free/community/demo and paid. Find features that matters a lot to businesses (or sounds like it), and doesn't matter to everyone else. Quotas are another way, although hard to enforce in a library (easy in a webapp), but also consider that legit businesses prefer buying over cracking. (e.g. pkzip got pirated like crazy, but the guy also made money).

3. A way to do open source is "dual-licensing": GPL + commercial. The GPL forbids closed-source distribution, so you license it to people who want to distribute it. The problem with this (I did it) is long sales-cycles, because there's no urgency for people to buy, they already have it. (they do eventually pay, it just takes a long time).
Ghostscript does something similar.

But your big problem is more subtle: you have a cool idea that is truly valuable to businesses - but it's easy to implement. I think most coders here could hack a barely-working prototype within 2 hours. All it takes is one of them to publish it on github, and keep working on it for 6 months, and you're finished. It's not because theirs is better than yours - but because they will get ALL the word-of-mouth and google-juice.

Thus, you need to serve both markets. This denies oxygen to the copy-cats - why would anyone bother with that half-assed knock-off, when they can get the real thing from you? Even if someone starts a clone, it will languish without any interest or feedback. People also like to reward originators (provided it doesn't actually cost them anything...).

Another thing you can do is implement difficult features - from skimming your site, it all looks pretty easy... but if you find some obstacle that seems to kill how it should work, that's a GREAT thing. Solve it, and you have a barrier (this is what happened for me). Or as Joel said, "where there's muck there's brass".

But the most important thing for your long-term success is to realize the situation is dynamic. You have to keep improving constantly (this often means discovering new ways to improve, even when it seems there aren't any). Even if someone copies, you still have the latest and greatest. Thus, you can measure your barrier in time - how long before they catch up? Even if it's only 6 months - or even 1 month - provided yours is always significantly better, everyone (businesses and others) will prefer it. There's also some lag, that it takes for word to get out of a competitor, to build word-of-mouth/google-juice, and to convince pragmatists that it really is credible. So this "market" lead also gives you some time (probably only a few months though).

Note: even when hackers are no longer excited, businesses will still be interested - because they don't buy cool technology, they buy solutions to their problems. They don't care how sexy it is, they care if it works, and that's it. So don't be discouraged when you are no longer hot.

Finally, to address your comment directly: I agree it's a problem, for libraries especially. I think open-source + consulting is a terrible idea (unless you're a consultant - then it's fantastic publicity. But conflict with making it easy to use, so it doesn't need a consultant...).

Looking at wildly successful developer tools, they seem to be desktop tools: IDEs (JetBrains on the frontpage now); xmlspy and a bunch of xml tools. I don't know why this is (Maybe it feels like non-code to programmers, unlike a library? Maybe because it's more work, and needs GUI-skills/interest?)

I'm intrigued by the idea of "service components": library-like functionality, used through web-APIs. (In contrast, most current web-APIs access data and/or business service, not a computational service). It would sit in the cloud, next to their web-app, so it's fast - but they don't have the source, and can only access it to via the web-API. Note that libraries naturally are accessed through an API - this is just on a different machine, like a DB often is (you probably want to config the query, then run it, to minimize network traffic). Then you can do quota restrictions, like any other web-app.

---

One thing though: if it doesn't work, please try a few other strategies before giving up. You have a valuable idea there.