10 ms·
We are, temporarily, in a kind of dark ages of end-user open source software. The reason is that we shifted from software-as-a-product to software-as-a-service.
by erikpukinskis 10y ago
We are, temporarily, in a kind of dark ages of end-user open source software. The reason is that we shifted from software-as-a-product to software-as-a-service.
With the old upload-and-forget model of software distribution, you could put a tarball on a free FTP site for a few pennies, and then a million people could use it, or one person could, and you wouldn't have to lift a finger. A million people could fork your application, or one person could, and you wouldn't have to do a thing. Variable costs for an OSS developer were $0. Fixed costs were just the cost of your computer and an internet connection.
But if you deploy an open source service to the cloud, it's going to cost you more than a few pennies, and if a million people try to use your service you have two headaches: financial and operational.
In theory something like Ethereum solves this problem, but it's not really ready for the scale yet, and it's hard to use.
In theory something like a Heroku Button[1] on Github solves the problem, but Heroku artificially introduces a 30 second delay for accessing free applications, and put lots of their infrastructure behind a paywall that the deploy-er has to manage and pay for.
This has been a difficult problem to solve, because unlike the x86 machine of the OSS explosion in the 90s, the "cloud computer" is still actively being invented. Ethereum didn't even exist a few years ago, and Heroku is a moving target. Linux Containers are also brand new, and then there's Docker and other VM standards, not to mention Google, Azure, etc... we are still grasping in the dark to try to answer the question, "What does a standard cloud machine look like?"
Until we answer that question, closed source services are going to have an immense advantage over open source ones. After we answer the question the power dynamic there will reverse and there will be a cambrian explosion of user-facing open source services.
[1] https://blog.heroku.com/heroku-button https://blog.heroku.com/heroku-button
- Taek 10y agoBlockchains don't really solve that problem. Scalability is a huge issue, and if you are trying to cram several apps onto the same blockchain they are all going to have scaling issues simultaneously. It isn't a product maturity thing either. At a theoretical level, we don't know how to make blockchains scale. Every node needs to process every transaction, and we don't know how to get around that. Would be great to move to a model where the end user can pay for the server time. sandstorm.io was (is) exciting for more than a few reasons. But overall it's still an unsolved problem.
- ftlio 10y agoThe N^2 problem of Bitcoin and Ethereum is solvable through sharding. I agree that on-chain scaling is impossible (and the two projects differ in their taste for decentralization vs scalability at their core), but the build out of workable sharding solutions with reasonable trade-offs and a workable topology are underway by both camps. It's just going to take longer than I think a lot of people who bought in with the pay-per-service use case would prefer. In the case of chat, I'm convinced that the ability to register data in a shared, immutable store like a blockchain with many stakeholders of disparate interests will be valuable to that end even before microtransactions start being sent with every packet on the internet.
- murbard2 10y agoSetting aside scalability for an issue, how would they solve this problem in the first place?
- arximboldi 10y agoI agree about blockchains, but when talking about P2P solutions in general, many scale way more naturally than centralized services. When I read on HN the engineering posts from Netflix about the enormous engineering efforts required to make their video service scale, I can't help but think: that's a solved problem, Emule/BitTorrent have been providing good access to video for decades! Of course, there is the "monetization" issues... (but there is also on Netflix, good luck finding non-US or indie content there.) On other side of the spectrum, look at Syncthing vs Dropbox. The thing about Slack is particularly crazy because even their client does not scale too: it was too slow to be usable daily in my 7-year old computer. A freaking chat app! Admittedly, I hesitate about whether the best solution of the OSS community is to jump and try to replace all those things. At the same time, the kind of software I enjoy most both developing and using is desktop software. That is kind of software that is uses to empower our creativity. While the proprietary software world moves its engineering power to the cloud, we can still use it to build tools that help people expand their imagination. I am thinking on helping making Gimp and Inkscape and Blender and coding tools all those better, but also making new tools that we have not thought of. I think there is still a lot of potential for exploration, creating new interaction models, etc. in this area that we have not explored yet. Sadly for the libre software world, Apple still gets a lot of developer mindshare in that area too...
- mnutt 10y agoAlong those lines, it sounds like Sandstorm may be a fit for what you're thinking of. It's generally more federated than a totally distributed system, but provides nice mechanics for packaging web apps, distributing them to others, moving from one server to another, sandboxing them, etc. It makes setting up and running web apps as easy and safe as downloading an app from an app store.
- educar 10y agoLast I checked the development in last few months has greatly died down (after they lost funding). It seems to rely on Kenton for all dev work.
- ocdtrekkie 10y agoThe rate of change for features for the open source sort has not changed drastically, as a lot of effort was being expended on business development and profitability before the funding dried up.
- alxndr 10y agoCould take the "Heroku" out of the Heroku button if there were a really easy way to deploy/connect Docker containers.
- newsat13 10y agoA Cloud machine look like https://cloudron.io https://cloudron.io. It's distributed and they have the button you seek. Many github pages have this button already: https://github.com/RocketChat/Rocket.Chat#cloudronio https://github.com/RocketChat/Rocket.Chat#cloudronio, https://docs.nodebb.org/en/latest/installing/cloud/cloudron.html https://docs.nodebb.org/en/latest/installing/cloud/cloudron...., https://kanboard.net/documentation/cloudron https://kanboard.net/documentation/cloudron, https://github.com/wekan/wekan#supported-platforms https://github.com/wekan/wekan#supported-platforms to name a few.
- EvanAnderson 10y agoThe costs for an Free / open source developer haven't changed in this "new" world. Distribution of software is the same as it ever was. I'm having a bit of cognitive dissonance trying to understand what an "open source service" is. If it's "open source", in terms of the OSI definition, your "million people" could just download and self-host it. To my mind, at least, if it can't be self-hosted it's not "open source". If you're talking about selling access to servers running an instance of the application then you're talking about running a service bureau, not distributing software. The economics are completely different.
- ryanbrunner 10y agoYou're arguing semantics. What most people are looking for is a "service bureau", and they use the word software to describe that. People don't want to manage their own infrastructure, and right now will happily pay for someone to take care of that for them. Open source isn't wholly incompatible with this model, for sure - you can still have open source code that can be hosted by the developer for a fee. But the specific idea of throwing something up on the web and letting people use it if they want isn't as effective, because not having to worry about the software (including how it's hosted) is part of the draw of using third-party software in the first place.
- dkonofalski 10y agoIt's not semantics... It's a wholly different methodology. Software is software. Your idea of a 'service bureau' is a completely separate concept that can, in some cases, be attached to software but it's not a core concept of software itself.
- EvanAnderson 10y agoI'm arguing semantics because I believe the semantics matter. I feel very strongly that decentralized computation and software freedom are powerful forces for good. Conflating hosting and software plays to an agenda of curtailing individuals' and businesses' ability to self-host and to have freedom. I think this agenda is driven by hosting providers' profit motive primarly, but it plays into agendas of unrelated parties who seek to curtail freedom for their own ends. The creation and maintenance of software is a service-- it always has been. Creating and maintaining software has never been a "product" because it doesn't suffer from scarcity. The best world I can envision is one where the underlying infrastructure, authorship, maintenance, and administration are all able to be decoupled based on need.
- enugu 10y agoThe way this problem will get solved is some service running on top of aws which will allow users to install and run any app, packaged in a standardized format. This will be free in exchange for a column beside the app which serves ads or some small amount of money to get rid of the ads.
- panic 10y agoWhat if we had an easy-to-use home server you could just plug in and start running "apps" on? Being able to download and run services on hardware you control would avoid some of these problems.
- ricardobeat 10y agoThe base Synology NAS models fit the bill - everything from blogs to office software is available from the get go. I own one but don't use them and haven't met anyone who does - there is something about hosting this on a box in your living room that feels too fragile.
- jurie 10y agoQNAP NAS models have a similar setup. In addition to their own package format (qpg? I think...), they also are getting the ability to run Docker apps natively. I agree RE the fragility. Even on my mid-range rack mount units, I'd rather stick to just having them serve up iSCSI or NFS to something more... server like that runs the actual instances.
- ValentineC 10y ago> The base Synology NAS models fit the bill - everything from blogs to office software is available from the get go. Their package system (for 3rd parties) seems to still be a mess: https://github.com/SynoCommunity/spksrc/issues/2216 https://github.com/SynoCommunity/spksrc/issues/2216
- ricardobeat 10y agoTo be fair packaging is a bit of a mess everywhere. We're talking about installing and running things, not publishing them, I can say I was positively surprised by how well everything works in their system.
- metasean 10y agoThere's a start-up called Daplie building such a system of hardware and apps. It's open source and the founder has a focus on user-owned data and data security. (I know several teammembers and preordered via Indigogo, but am otherwise unaffiliated.)
- transitorykris 10y agoThe pendulum is definitely ready to swing back the other way. A related problem with SaaS is the risk associated with whether or not the company will endure (and open-source-on-company-failure is not confidence building imo). https://machinebox.io/#pricing https://machinebox.io/#pricing is one example that I like of a product that goes back to software-as-a-product. I've not dug into the operational aspects of this product, but if done well should be able to scale from a dev's laptop to k8s or other PaaS.
- carlio 10y ago> But if you deploy an open source service to the cloud, it's going to cost you more than a few pennies, and if a million people try to use your service you have two headaches: financial and operational. This is exactly where I am with https://landscape.io https://landscape.io - can't keep it running for free, can't get people to pay.
- saghm 10y agoIs that a typo? It looks like it should be "landscape.io", and in the way it's currently written, it gives me a 404
- memmcgee 10y agoI don't know anything about your market, but your plans seem awfully expensive and they're differentiated weirdly. I wouldn't choose to pay for a tool that would limit how much trend data I get based on how much I paid.
- 31h 10y ago> With the old upload-and-forget model of software distribution, you could put a tarball on a free FTP site for a few pennies You can still create a Digital Ocean droplet, Docker container, or VM Image - and do the same thing (upload & forget). Then it's up to the user to pay $5/mo to host it, a process which doesn't need to take more than a few mouse clicks.
- rsync 10y ago"You can still create a Digital Ocean droplet, Docker container, or VM Image - and do the same thing (upload & forget)." Wouldn't it be easier - and free - to "upload and forget" onto github ? If someone had a software release, why wouldn't they choose github to be the release point - even if it's just a single tarball ? Are there costs involved in hosting binaries/tarfiles on github ?
- 31h 10y agoCan you clarify what you are driving at with these questions? First off, a lot of people prefer hosted source repositories other than github (e.g. hub.darcs.net, gitlab.com, My Own Private Server). Github naturally imposes various limitations on their "free" plans.
- rsync 10y agoI'm not getting at anything. I'm genuinely curious. Personally, I self-host everything on my personal www homepage. If I did not self-host everything, I assume I would put it up on github, right ?
- 31h 10y agoAt the risk of prolonging a pointless line of discussion: what does github have to do with anything in this context?
- dpc_pw 10y agoPotential solutions: Urbit, Maidsafe
- Clownshoesms 10y agoI agree it seems like a dark ages, but it was inevitable software would move to a rent seeking position in this environment. VC's want their income tap. These yachts don't run themselves!
- rascul 10y agoOpenShift might be a potential alternative to Heroku, especially comparing the free plans. https://www.openshift.com/ https://www.openshift.com/ https://blog.openshift.com/updated-openshift-deploy-buttons/ https://blog.openshift.com/updated-openshift-deploy-buttons/
- sjellis 10y agoI actually think that it's a social and business problem, more than a technical one. Some SaaS providers already choose to run an OSS product which they develop for their needs but also share (like GitLab, Discourse and Sentry). Others choose not to publish their code, and lock the software to their infrastructure. These are business strategies as well as ethical decisions. Different technologies might change the cost/benefit ratio, but people that really want to be OSS already are.