HippyVM goes to Y Combinator and fails
lostinjit.blogspot.com
lostinjit.blogspot.com
Realize the VCs motives are about extremely rapid growth, however, and that's not really required.
I believe there was an article on here recently about a Ruby task manager that had a proprietary plugin selling for $400 or so, and (I could be wrong) I believe that was enough to operate as a business for the guy running it. You probably have something you can charge more than for, if you can get away from the pure OSS route.
Support may not work as a business model. It might, but it would be harder to sell.
What you need first, though, is lots of users using your free edition, because otherwise you're going to have to spend a bit too much time in sales to people who might not really wish to change things over.
I've managed to fund some of the work by doing other contract work. It has also given me a lot of experience working with pretty much anything I want in the compiler, debugger, linker, run-time libraries, performance tools, C bindings generators, networking code, garbage collection, type systems and so much more. Some of this has resulted in further contract work, some has resulted in contributed fixes or improvements to other libraries.
(I'm now looking to potentially fund a student for some work this coming summer.)
Now, I'm taking a lot of what I've learned from that and starting up a small business (not looking for VC) to produce a new kind of developer tool. We plan to be open source and have some customizations and packaged products that businesses will be interested in and suspect we can fund ourselves that way. It'll be a long hard slog to get there, but we're pretty excited about what we're doing.
In general, I think there are a lot of things that could really use improvements. Our shells haven't changed much in the last 20 years. (I wrote a post about this last October: http://waywardmonkeys.org/2014/10/10/rich-command-shells/.) Almost everywhere you look, there are things that could be better. Most of them are a hard sell as a business. Some sort of increased infrastructure funding would be great.
Along those lines, there are programs that provide funding for some of those sorts of things. Stripe had an open source residency program for a short while. Mozilla funds some projects. The Knight Foundation funds a number of things a couple of times a year. Even Comcast has a funding program (http://techfund.comcast.com/). I'd love it if organizations over a certain size allocated some funding for some work that might benefit them, but would also have a wider benefit. If someone has 50 or 100 programmers on staff, they can probably afford to sponsor someone for 3 months or a year at a time. And who knows what might come of some of it...
A question: do you think it would make sense/be reasonable to try to write a racket language extension for Dylan? Sort of as an alternate implementation? (Not really asking if it would make sense for the Open Dylan project to use resources for that, more if there are obvious things/differences between Dylan and Racket/scheme that would make it infeasible).
To be clear, you are donating your time to the project. There is no other source of funding. This is the same as a side project on top of your consulting gig.
Take a look at what Sysdig (https://sysdigcloud.com) is doing. Free version, paired with an enterprise version with more features and support.
The founder previously created Wireshark and adopted the same strategy. It worked (they were acquired by Riverbed a few years ago).
Trying to sell a PHP compiler is a very bad business plan. In fact, trying to sell any compiler is a very bad business plan, because you're basically competing with free. You have to compete against OSS with massive communities (like gcc) or against deep pockets (like Visual Studio) or against reference implementations (like the OSS PHP engine).
Imagine trying to sell a PHP compiler. You can try to get wide community adoption and sell bottom-up. Good luck with that, the PHP community is not that interested in tools. So you can try to sell top-down to enterprises with slow PHP problems. Very few companies have slow PHP problems, and those that do could just use HHVM.
For 30 years, commercial lisp engines, C++ compilers, Java VMs, and tons of similar things have all been commercially unsuccessful (though not all failed outright). A PHP engine will have to compete with with Facebook's HHVM (OSS + deep pockets), against the Zend engine (community adoption + reference implementation) and against Zend corp (a known and established quantity in the space).
I spent a bit of time in compiler research and met with tons of compiler companies at events. One of them said that they couldn't think of any compiler company that didnt make its money off consulting, and that worse, about 85% of them made their money off a single client.
Quick, name a successful compiler company! There aren't too many and they weren't that famous. There is Coverity in the closely related static analysis space, that sold for $375m. There is Cilk that sold to intel for $100m. Dredging my memory there's companies like Anamorphic which was acquihired by Sun in 97 to work on Java.
You're almost better off being a HHVM consultancy than building a competing compiler and ending up having to innovate on the product as well as providing consulting.
Don't discount writing new types of compilers that people want.
At one stage pre pg stepping down, an RFS explicitly asked for compilers. Special types of compiler that have yet to be written that speed up programming across multiple machines. Disappeared in the RFS list: cf http://www.ycombinator.com/rfs/#program
You should be fine writing new frameworks (meteor), or working in closely related areas like static analysis (coverity, fortify), CI/CD tools (CircleCI), or even things like DB optimizers. I just wouldn't write a straightforward compiler.
Conversely, you might do this to solve your own problems and do things you cannot do now.
Struggle like this for a while until things are really working well, then sell hosted, fast and reliable PHP IaaS at a way cheaper pricepoint because you're more efficient.
Now you've got money coming in, a great piece of infrastructure built on real production experience, and a healthy customer list. Sell the company (or just enjoy the profits), keep the proceeds for yourselves (without sharing with some VC). Win!
Hopefully most organizations have realized at this point that it is not a good idea to build your infrastructure around the big players. Just try to fire IBM and move off of WebSphere and see how easy that is.
That leaves open source and the author brings up a good point about the inequity of how much value they bring vs. how their contributors get paid. I wonder how many companies give back to infrastructure projects (money I mean, not code contributions, which are of course also important). Things like Google Summer of Code are great and beneficial, but what about giving actual cash to these ladies and gentlemen? Seems like someone might even be able to create a startup around that concept :)
Market don't need fast PHP compiler look how low is adoption of HHVM. PHP is legacy codebase used for simple CMS. If someone need performance it will use Java, Node.js etc
>PHP is legacy codebase used for simple CMS
Of course it is, honey...
What you want to look at, though, are established companies with customers doing open source stuff, like Redhat.
They do exist, but it's not easy.
I actually do think that the 'sweet spot' is to use open source as infrastructure, and make money with something proprietary, but that's not something that makes purists happy.
I agree that it doesn't make purists happy, but frankly, I don't find it particularly important. As long as proprietary software exists, whether companies are separated between open and closed or hybrid isn't particularly relevant, in my opinion.
The dichotomy is this in any event: it's easy enough to work on free infrastructure stuff if you make your money elsewhere, but it's difficult to work on free infrastructure stuff as your business.
Thanks! I needed a laugh.
I think Nimrod is something we should be looking at.
> there is no money in infrastructure like programming languages. Very few people are willing to invest in such companies and the contenders these days are all Open Source without a decent funding model or backed by a large corpo (Oracle, Google, Microsoft) or both. [...] we're missing a business model where infrastructure people can get attention from VCs and a revenue model that somehow corresponds to the value they're bringing.
And yet there's Mathworks (MATLAB), Wolfram (Mathematica), SAS Institute, Kx Systems (q/kdb+), etc. Granted, these are all proprietary languages, but they aren't backed by the likes of Oracle or Google.
As a grad student you're going to want to solve some problem, and your choice will be 1.) reimplement large segments of the lab's codebase in your language of choice or 2.) build something on top of the old code in Matlab.
I tried convincing my grad advisor to do things in python and not matlab, but no dice. He went with matlab for the problem he (and to as certain extent I) was trying to solve because of these kinds of institutional factors.
Exactly.
And even with things like Octave, SciPy, they still outperform them in ease of use, turn-key solutions in a lot of areas.
If not for the plugins and IDE why would you use Matlab instead of Octave?
I don't know if this is true for the other languages you mention, since I have no experience with them.
"...we're missing a business model where infrastructure people can get [...] a revenue model that somehow corresponds to the value they're bringing."
It's a problem now and always has been, from the days when C++ suddenly got popular and C++ library vendors suddenly discovered they had to pay for real customer support and everyone realized per-use license fees were ridiculous.
MathWorks: Matlab -> Simulink + other toolkits. Hickey: Clojure -> Datomic. Typesafe: Scala -> TS stack. Whitney: A+ -> kdb/q.
Infrastructure in this context is a bit nebulous. I think something like dead simple self hosted email would qualify. Built into ones home router so they'd never have to think about it.
That's not the infrastructure he means. An email server has to be coded in a language / runtime; who develops those pieces? That's what Maciej means by "infrastructure": the languages and runtimes everybody else then uses to build sexy products.
PyPy can't use introspection, like the standard logging framework (http://pypy.org/performance.html,) without severe performance penalties. Fix that and you've got a solution to a problem.
Infrastructure tends to be on the vitamins side of that quote.
Figuratively, of course, it means people will pay handsomely and hurriedly for you to take their pain away, but it is difficult to get them to pay for potential small improvements.
I think for infrastructure as a business to work you need to find a sweet spot of: 1.) a serious pain point 2.) for a large number of customers who do not have the resources to solve it themselves, and 3.) that is hard enough to solve that it can't be solved by a quickly hacked together product. In particular to 3, one example I can think of is a problem requiring a very complicated but powerful user interface.
Oh, and then you actually need to solve it, track down the customers and convince them to pay for it. Overall it's a tough needle to thread.
2) The second way is more like a financial derivative, it's a bit more risky, a bit more complex, a bit more limited in terms of exit strategy, but you build a technology company and you sell the company for the technology itself and team that invented it. In this world, patents and actual IP matter more. It's a technology play, not a product play.
Apple and Google buy these companies, ARM, Qualcomm, Rambus are some examples of big ones.
I could see Hippy positioned 2 ways, 1) product, it's going to take 2 years to build (and that's probably really ugly to most of the hipster/cool kid VCs right now) it's going to be some kind of proprietary PHP VM that's 2x to 10x faster running unmodified code. It's going to cost $x per core or host or something. You're going to build it, you're going to market it and you're going to sell it. Maybe there will be a free community edition to help market it. I don't know, but that's the rough outline of the story. Hopefully PHP is still really popular in 2 years... Long lead time, product, then presumably you'll know how to market and sell it. Maybe my cold meds are fogging things, but that's kind of ugly but it seems almost palatable, these guys build compilers, without Pypy it's super ugly.
Alternatively you could position it like a technology company. This seems a lot more compelling, these guys have a great track record of doing great technology. They're doing legitimate cutting edge compiler stuff, routinely delivering it, routinely making improvements.. Tackling hard problems (like the GIL) and making headway. If you've got technology to make unchanged php 2x to 10x faster, you can't tell me there isn't a market for that, Facebook is building that for themselves. I'm sure Yahoo and others would be interested. There are existing php accelerators on the market. Plus, you're only funding the development team so it's a bit more inexpensive. What you need is like a VC backed by Facebook or Yahoo one of those interested parties already looking at this stuff or a VC with the right kinds of connections with other tooling companies that might be interested in buying this kind of technology. With their track record, it seems like a fairly safe technology play, they just need to find the right investors. Now asking them why Pypy doesn't accelerate certain types of code would be part of the process, perhaps understand their strategy to avoid that problem with PHP would come up.
previous discussions of HippyVM: https://news.ycombinator.com/item?id=7860492 (a year ago)
https://news.ycombinator.com/item?id=4241921 (about first announcement, 3 years ago)
The tricky part is getting integration costs down to < $Y - $X, which is why the most successful enterprise products tend to be turnkey solutions like CloudFlare or AWS that build off already existing APIs. New programming languages usually fail because there's a massive hidden cost in learning the language and rebuilding the ecosystem that is greater than any potential savings the language could offer.
So what can be done to make things like HHVM suitable for shared hosting?
It's a huge market, and a difficult problem to solve.
I think the big question is: what is the cost/risk/reward benefit is for the hosting providers.
You need to be cheaper than buying more hardware, safe enough to install without breaking everything, and provide a significant improvement in e.g. the number of hosts per server.
It's a market I expect will go away entirely. You can get VPSes for comparable pricing to shared hosting these days - DigitalOcean is $5, Heroku is free for the first dyno, etc.
I'm not convinced the market will go away.
There are plenty of people who:
- Want hosting
- Don't have the technical abilities and/or time to set up a VPS
- Just want something that works - right now this very second
- With an easy-to-use control panel
- And want to pay $5 - $10/mo for the pleasure
Cheap hosting for non-technical and/or busy people is huge and I just can't see it losing market share to VPSes.Steve Jobs: https://youtu.be/GnO7D5UaDig?t=50m22s
That said, there are companies like TypeSafe and Cognitect that found a way to sell solutions and services (often in a consultancy/agency/training model) and through that business model they can invest in fundamental longer-term building blocks (like languages, runtimes, libraries, databases).
It's not easy but might be a possible angle to deliver tangible value now & still drive long-term vision and innovation.
(Not that I'm detracting from the great work these guys have done)
Support? Sell a turn key solution? Partner with hosting companies?
You (count on) having a thing that runs PHP faster, and you're not going to have a product/service only with that.
I wonder if it really offers any advantages these days. HHVM is really fast, PHP 7 is really fast, and PHP now has Zend (ew) OPcache and its optimiser built-in.
HippyVM is quite weird, too: it's made by Python developers who don't seem to have ever contacted anyone from PHP.
Even the mother-project PyPy is struggling with finances. It's this weird thing that most of the Python world thinks is great, but doesn't quite understand...
There are quite a lot of other language implementations in RPython, since it is relatively easy to get off the ground. Use a comparatively high-level language to write the byte-code-interpreting loop and you get a JIT more or less for free (Seriously, if that kind of thing is interesting to anyone reading this, try it)
Don't want to work at Facebook? I understand that, but before you say no, infrastructure teams at large companies tend to have a lot of freedom and lack of politicos sniffing about. It might actually be quite a bit of fun on the HHVM team.
VC money always comes with "strings attached".
While I'm not against taking money from VCs, seriously consider if it will benefit your company's growth and business models by taking money from them. There are ways to bootstrap and grow a business without external funding like VCs. This is something a lot of people seem to have forgotten in this current startup 2.0 mindset.
To the founders of HippyVM don't let Y Combinator's rejection stop you!
One way or another there needs to be a mechanism for solving the free ridership problem, and it seems like doing this at the investor level is as good a place as any.
There's a potential cultural shift from "I like this" to "I value this" which could make many activities economically viable which are now pet projects or personal passions. You should be able to tweet cyber currency or something.
a) Forget about doing difficult things and focus on something easy like dating, swipe left/swipe right app. It is not that Europe does the hard things like compilers, it is that America does the easy things like dating or cat apps or farting and stuff. However, there is hope. Look at what Slack is doing with yet another messaging app. Is there another app that is simply "a bad solution" which you can come up with a better, easier, more delightful alternative?
2) If you already did the hard stuff, what about packaging it with other elements of the stack and providing a fully optimized stack? Then you can offer it as a solution to enterprises. It is hard though. Enterprise sales.
3) Don't open source. Get paid for what you do.
4) Open Source but charge for the services around it. Consulting services. But you are already doing something along these lines.
I am sure there are others.
The misfit with YC/VC is that such a company is more consultancy than startup. The potential paying customers are snowflakes if not unicorns.
[1] http://docs.topazruby.com/en/latest/ [2] https://github.com/hippyvm/hippyvm [3] http://pypy.org/
If something like New Relic didn't work on your vm you could offer a competing service that utilized jit-specific tracepoints. People who care enough to want a faster vm and have money will probably want great performance insight, and vm developers are uniquely positioned to offer that insight.
> Compatibility
> HippyVM is aimed at being 100% compatible with Zend PHP
aimed at means nothing. How compatible is it now?
> Performance
These benchmarks lack dates, interpreter versions, system information, source code, raw data...
...and worst of all, aside from this, that's it! There's no more information on the site, just a link to the source code.
No, most businesses/investors looking for a return cannot wait forever. So you have 2 options: a) find the few who will or b) figure out an interim step that has value and can show results in a shorter time frame.