Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



The 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.


You'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.


I'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.


Well said. Ideas are not scarce, only the physical realm is. Its not hard to envision the coder being paid to code; when no more code is being written, there are no more checks coming in. Nobody is owed anything based on past accomplishments. In the information age, reputation is _everything_.


It'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.


Blockchains 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.


I 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...


The 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.


Setting aside scalability for an issue, how would they solve this problem in the first place?


Along 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.


Last 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.


The 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.


The 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 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.


> 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.


"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 ?


Can 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.


I'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 ?


At the risk of prolonging a pointless line of discussion: what does github have to do with anything in this context?



Using Cloudron since a week now to host Rocket.chat for similar reasons mentioned in the article. Can totally recommend it!


Why did you choose Rocket.Chat and not Mattermost?


What 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.


The 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.


QNAP 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.


> 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


To 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.


There'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.)


In the long run, I think that's the right location for things like IoT devices: there's no reason for my thermostat to dial back to the cloud when it can just connect to my central computing unit in the closet, exactly like it connects to the central heating and air conditioning units in the closet. Normal people don't mess with HVAC, but they can if they want to (and it's remarkably simple!); likewise I don't imagine normal people would mess with their home system, but they'd be able to if they wished.


> 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 - can't keep it running for free, can't get people to pay.


Is that a typo? It looks like it should be "landscape.io", and in the way it's currently written, it gives me a 404


Oops- it was, thank you. Edited and fixed now!


Maybe try to decrease the price and open up to wider public? Pricing is high for small developer.


I 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.


Could take the "Heroku" out of the Heroku button if there were a really easy way to deploy/connect Docker containers.


I 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.


OpenShift might be a potential alternative to Heroku, especially comparing the free plans.

https://www.openshift.com/ https://blog.openshift.com/updated-openshift-deploy-buttons/


The 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.


I 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!


Potential solutions: Urbit, Maidsafe




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: