3 ms·
This is a really interesting problem. There's the expectation - and desire - for all software, particularly development tools, to be open source. This seems to
by moconnor 13y ago
This is a really interesting problem. There's the expectation - and desire - for all software, particularly development tools, to be open source.
This seems to make it harder for independent developers to devote time to creating great tools. Is the future of software tools in the side-effects of teams at large organizations open sourcing things they needed to solve their own problems?
- mherrmann 13y agoI agree that it's interesting and that it is a problem. You could see from mapleoin's comment that closed source software is not looked at favorably. I can see why, but as I said if we want to sustain full-time development of this project, we need an income. One approach that's often used with open source projects is to develop the software for free and then charge for consulting. But, with a tool such as Helium that aims to be extremely simple, I don't see much room for such services. I'd be extremely curious to hear if anybody has an answer to this problem.
- deleted 13y ago[deleted]
- hyp0 13y agoFirst 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.
- mherrmann 13y agoInteresting post full of ideas - many thanks. I agree that it would be great for us to be able to get the best of both worlds - paying business customers and (probably) non-paying users that supply the google-juice, as you so aptly put it. Maybe we can offer a "Social license" that allows people to use Helium for free if they tweet about it.
- hyp0 13y agoTweet-for-license is a logical idea, but it feels too paid-for-compliment - even though people must be sincere, since they want the license... like Dropbox's referral program. However, maybe google juice isn't that important for your market... if you can reach them in some more specific way, you don't need lots of freebie-loving hackers. Also, there's a downside to lots of free users: by whetting the appetite of people who will never pay, you create a vacuum for a clone to fill. PS: rmrfrmrf's (https://news.ycombinator.com/item?id=6915104 https://news.ycombinator.com/item?id=6915104) comment on Heroku's plugins sounds close to "service components" I mentioned above. Building on his idea, http://pingdom.com http://pingdom.com offers free user alerts, and https://travis-ci.org/ https://travis-ci.org/ offers continuous integration testing via github hook - both have a free tier.
- mherrmann 13y agoTweet-for-license is working well so far, we'll see how it goes. And the required tweet "Trying #helium web automation (heliumhq.com)" is imho really not that much of a compliment. But obviously, we want something in return for giving away free(!) licenses. I can see your point of creating a "vacuum". Since we are giving away licenses for free now, the challenge will be to not let such a vacuum happen, yet create enough demand for businesses to pay for licenses. I really don't see us offering a hosted SaaS platform at the moment. I can see the advantages for the subscription model, but we're busy implementing Helium for languages other than Python, so don't have time to set up a platform. It's just not our core competency.
- hyp0 13y ago
- rmrfrmrf 13y agoIt's a matter of sound business decisions more than anything. This is a classic example of not understanding your target audience. Look at the competition: on one end, you have a flexible, open source web testing framework like CasperJS (targeted at developers); on the other hand, you have end-user oriented products like Fake.app that are paid and closed source. One could even argue that Selenium itself (also free) has a nice enough GUI to be considered power user friendly. When you start charging devs for closed source, paid applications, you're getting into the territories of Oracle, Microsoft, and IBM. Is that really how this independent team wants to position itself? Can this team even support the kinds of problems that enterprise clients have every day? Seems like a really terrible segment to target. And if this team was really thinking that indie devs would go and blindly purchase a product like this from an unheard-of company with no established reputation, then, again, they need to go back to the drawing board with their business model and/or hire someone who can provide guidance.
- mherrmann 13y agoI thank you for your honest and direct feedback. Obviously, it's very interesting for us to hear, and if you are right and we do not understand our target audience or our business model is flawed, then we have a problem that we should find out sooner rather than later. You have a lot of criticism for how we position ourselves, and our product. I deeply believe that there is a market for a tool such as Helium, be it open- or closed source. Assuming that we have a product that the market wants, can you recommend a way for us to make this product open source, yet generate an income that allows us to sustain its development?
- rmrfrmrf 13y agoAn idea (maybe too obvious) that comes to mind would be to host people's tests and send alerts when tests fail, then work up a deal with Heroku to offer your web testing service as a plugin. Many of the plugin services have the same type of tiered business model. You could do something like a 30 day trial (or, alternatively, 1 test per day free), then offer services for 50 requests, 500, 1000, etc. I'm not incredibly familiar with how frequently web tests run and how many pages/forms/fields the average project has, so obviously you'd have to tweak those numbers based on what you think will generate the most revenue.
- nfoz 13y agoSoftware has always been set back by an absense of business models that support the development of high-quality software. Either it takes draconian copyright (which severely limits the usefulness of the software), DRM/no reverse-engineering licenses, or advertisement/3rd-party tracking, or some other braindamaged scheme. The future I see is in crowdfunding development up-front. It takes a social change alongside the development of technology to facilitate that (improved payment processing would help; lowering transaction fees and allowing micropayments, etc.). We're getting there, but it's really tough. I don't have a good answer. But copyright and license agreements aren't it.