If we can find a way to make sure every person has what they need to thrive regardless of their income, programmers can open source all of their software and we can enable the maximum value creation possible. Other engineers like those that design commodities like dishwashers and cars or important manufacturing or medical equipment can also open source their designs so that repair costs are low and innovative improvements are easy to apply. I genuinely believe this would result in a steeper and more rapid innovation curve as well as a better world for all, than a world where we try to monetize things which have zero marginal cost to reproduce.
I'm absolutely sure someone would design one out of sheer annoyance with existing solution (if existing solution would be bad).
It would be interesting if system with very short copyright (say 3-5 years) would work. You'd still have leader's advantage for investing in development, but overall winner would be companies that can both innovate and fill the market and not just throw some ideas, patent them and live off people actually trying to implement them...
It looks to me more like a suggestion to give people a some kind of guaranteed minimum income, and abolish all IP laws.
There is a lot of open-source software, and still software development contractors exist and do well, all the while they may use 90%-100% open-source stacks to solve a client's problem.
I'm pretty sure Alec from Technology Connections would if he had the resources.
If I design something, how do I get compensated for the work if anyone can clone the work? Why is manufacturing counted as "compensated actually-doing-something" while design/R&D isn't?
Personally, I think that a lot of people who right now go into programming "because it's a good career", would instead do things that are equally creative but also capture other things high on the Maslow hierarchy — e.g. fame.
Personally, despite enthusiastically enjoying my programming career and puzzle-oriented problem-solving more generally, I'm still intending to retire early and become a novelist. If I could "thrive regardless of income", I'd do that right now.
You might try your novel, and one of two things could happen:
You find out you love it, you write a really good novel, and society wins.
You try it, find out that the actual experience of writing a novel is a drag. No harm no foul, you move on and keep trying things until you find something you are really passionate about and good at, and society wins.
Maybe it is programming but you just need a more interesting program.
Do we really need all of the programmers that are currently being employed? Will society collapse if there aren't 100,000 working on the next photo sharing app?
The important stuff will get done. Anything that is a luxury will get done only if someone wants to do it for themselves or if someone can convince another person to do it. Money doesn't need to disappear under a world of UBI, it's just not something that every single person on earth needs to participate in under thread of starvation and death.
For me, it is quite gratifying to ship, but for many people, the 50% (or more) of shipping software that is non-coding work, isn’t fun, and is usually deprecated, during the planning process.
Examples are things like end-user documentation (not just maintenance docs), training, error handling, accessibility, localization (a huge task), continuing customer support, legal checklists, patent searches, copyright searches, branding strategies, glossaries, distribution channels, evangelists, usage feedback support, synchronization between all of the above, and the Web site, etc.
Big fat, not-fun pain, but needs to be done. A lot of this stuff really needs to be considered before the first line of code is written, and the journey can take years.
The app I’m working on has been in development for over two years (but to be fair, I did “wipe the slate,” and restart, after about a year). The basic “business logic” is in one SDK that I wrote in about a month and a half. All the rest of the work has been chrome.
I'd be skeptical of any system where there's no opportunity to get ahead as people will either find ways to take advantage of the system and screw others over, or the system becomes unsustainable as populations shift in size.
More broadly I would say that many people believe the current system actually does not serve people well. We have a very small portion of the society that owns the means of production and 99 percent of the population have to deal with the dictums of those owners with very little say in how production is allocated. This leads to a world where the output is heavily slanted towards the ownership class while everyone else is fighting for scraps. A world with community ownership of the means of production would mean MUCH more wealth for the average person, so concerns over resource allocation would be less of a concern.
The point anyway is that in the current system I certainly don’t get to decide what my “level” is beyond trying to work hard, but in a community ownership model I would have much more say.
As you have said we have been trying different value systems for thousands of years. No reason to believe attempts to improve the system should not continue.
In other words: Necessary value can only exist, if other humans have a problem and depend on somebody/something to solve it (temporarily).
Explaining valuation from individual desire is hard, but group desire depends on techniques to control the masses and in between are many layers of uncertainty.
people advocating for this are on the receiving end of a very extractive and destructive system
The incentive structures are complex, and money still serves as a potent motivator for many to push boundaries and innovate. Remember, open-source doesn’t always equate to high-quality or innovative, and proprietary doesn’t always mean restrictive or uncreative. A balanced ecosystem where both proprietary and open-source software can coexist might be a more realistic and productive approach. I’m afraid that balance isn’t too dissimilar from the one we have now, so I’m sort of forced to go with Occam’s razor here.
As far as initial investment in the creation of the software - yeah, that’s programmer time. The point of my scheme is to lower the cost of programmer time because their needs are already met, thus lowering the cost of initial investment.
Hardware is a separate concern but I have a whole thing about how open source hardware tends to bring the hardware costs down to the lowest physically possible cost. Just look at 3D printers under patent ($25k) versus ten years after the patents expired and open source took over the low end ($250).
I’m not sure how Occam’s razor would suggest that the status quo is close to the ideal situation here. Those seem unrelated.
A single paragraph excerpt: "Men are not good enough for Communism, but are they good enough for Capitalism? If all men were good-hearted, kind, and just, they would never exploit one another, although possessing the means of doing so. With such men the private ownership of capital would be no danger. The capitalist would hasten to share his profits with the workers, and the best-remunerated workers with those suffering from occasional causes. If men were provident they would not produce velvet and articles of luxury while food is wanted in cottages: they would not build palaces as long as there are slums. "
Just because someone is proposing something for a small slice of society, doesn’t mean they intend to propose something similar for all of society. For instance, insisting on free schools, free (rail) roads, free health care, free water, and nationalised energy plants doesn’t mean they want to make everything free, or that they want to nationalise everything, or that they are nostalgic for communist Russia or whatever. That’s just the Red Scare talking. The fact is, different systems for different slices of society can and do coexist.
Human nature is not limited to the environment we’re currently living in. Genetically we’re barely different from the people of a couple hundred years ago. And yet our ancestors lived under many kinds of societies. It would be a little presumptuous to assume the one we’re currently living in is the best. Especially considering how it came to be: remember that as Thatcher was saying capitalism/neoliberalism was natural, she did "nudge" things along by having the army pay a visit to workers on strike.
Even communism isn’t a monolith. It took various forms, which failed for various reasons. Sometimes it was direct outside interference, like how the Paris Commune was basically crushed by the national army.
I know people like to rail against it, but I actually like the SAAS model. It keeps incentives aligned. It used to be that I might shell out $200 for a piece of productivity software. Now, I might pay $10 a month instead. The thing is that under the old model, a company was incentivized by make a sale but retention didn’t matter. Now, a sale is almost worthless, but retention is very valuable. Yes, over time I will pay much more with SAAS, but I also have companies that are incentivized to keep the software working. It doesn’t matter that I have a perpetual license on accounting software I bought in 2005… it no longer functions with my operating system anyway. SAAS helps solve this problem.
I find SaaS products, including ones I have paid for, disappear at a much greater rate than the rate at which the desktop tools they replaced stop working.
There's also next to nothing I can do as an end user when they do disappear. If I'm very lucky, I get a limited window to be able to export a portion of my data. But we've eroded data formats to the point where even if I can export my data, there might be nothing to plug it into. What good is a CSV, even, when what I need is a tool that processes the data in the CSV? There's no option for me to keep an old machine or a VM around and self-support on a discontinued piece of SaaS.
That's to say nothing of the price hikes. $10 a month today becomes $14.99 next month, $17.99 in a year, and before you know it the proprietary system you've locked yourself into now costs five times what you originally paid. Sure, they might add some more features, but since it's SaaS, in many cases you have no choice to seek out a different vendor to provide the same feature, as again, your data is locked up in a format you can't easily extract and work with elsewhere.
For example, I've used Adobe products for a very long time, and they get a lot of flack. I was an extensive user of Photoshop (PS) and Lightroom (LR) for a long time.
However, the old model was - PS pay $600 once, then $200 for updates every 2 years or so. LR was $200/100 as I recall. So your run-rate for both was over $150/year (factoring in the initial $800). This was in like year 2000 dollars.
For $150 2023 dollars.. I get constant feature updates, cloud storage & sync, licensed to run on at least 2 machines, etc. Inflation adjusted this is nearly half the price of paying $150 in 2000.
I'm also intrigued by how many very wealthy people are unwilling to pay $10/mo to stream music/video and/or share passwords, when I recall paying $20/CD at the record store in 1998 dollars. You can listen to basically every song you want for the year for the price of (inflation adjusted) 2.5 CDs purchased by my mallrat teenage self back then.
I think we are all just very spoiled..
Sure, you can get versions of your data that are technically usable/readable by other software out of Google Docs or Figma, but you’ll never have a fully fleshed out original because nothing else can read those formats because they’re not documented and can change at the whim of their creators.
Building with boring technology on the other hand can remain very low in monthly costs and still provide a lot of scale and capacity for users.
Of course, the flowchart is just one example. The same can be said for a lot of utility software I only need occasionally.
A long time ago I worked out an agreement with a local gym. To avoid a membership that I would only need for a few months (I was living in a hotel temporarily with no access to my own equipment), I paid $10 each time I showed up. This could be a useful model for rarely-used software.
By the way, if you are on Apple ecosystem, I recently tried the newly included Apple tool, Freeform, and found it to be surprisingly capable.
If I only use flowchart software 2x/yr, I can just pay those two individual months and nothing else. Six times over three years is way cheaper than buying it outright ever would have been. Plus after three years I'd be needing something that the newer version introduced anyways.
So in your scenario SAAS saves a bunch of money and keeps your features and OS compatibility up to date.
You just have to remember to cancel it once you're done each month, but that's easy enough with a calendar reminder.
This way you get to save a lot of money over buying it outright.
And in practice, what does "get you hooked, take your data hostage" mean? I can't think of many SAAS subscriptions in my personal life where this is a real issue.
There there's even less incentives to fix bugs, fix broken functionality and god forbid new functionality.
There is a dramatic difference between a world where some software is SaaS but most is owned vs. our current environment where everything is SaaS. It's the gestalt of the SaaS economy you have to look at and not the isolated cases.
Moveover the issue isn't "productivity software" really. That enhances your life. The fact I can't even own some books, music, simple software, movies, etc is the problem. It creates an environment where the average person is tied down with so many subscriptions just for things they'd normally buy once that they become more poor than would be otherwise.
I am at the point where piracy now makes more sense again and I will basically refuse to purchase any more software. To be honest, I don't care who it hurts. I am tired of being victimized by companies. One of the only software I pay for is the Jetbrains product suite because they are a company whose SaaS model is actually cooperative. Sublime is another one who has more than acceptable terms.
JetBrains figured this out already. Sell me a perpetual software license that I own and charge me separately to get the updates.
For example JetBrain's products: Oh look, we have changed our icons/ updated UI/ improved UX/ etc! We know that nobody asked for this, but it will be shoved into your mouth anyway!
Pretty much sure you can find that everywhere.
How is it a company can give me recurring charges and I have no ability to turn them on or off?
There's thankless work such as programming language development, operating systems (Linux), databases and Linux distributions that are profoundly valuable. Even just wrangling them from a devops perspective is painful though.
I've never paid for any of the work that went into Ubuntu, Python or Java (I use Corretto) or MySQL or C.
I kind of want a community of people that help run a sideproject PaaS and solve the things I would prefer not to work on. Servers that are up-to-date and patched and scalable and robust.
I use OmniNotes on my Android phone, I use FreeFileSync, Typora (paid software), IntelliJ Community.
What's a price that you would pay pay for your open source software?
If it was like Spotify, spotify is like $9.99 a month and apparently 210 million susbcribers according to Bing search "spotify number of subscribers". That's a fair amount of people's living costs to pay for.
You’ve almost certainly paid for them, just not directly. Some share of the cost in the supply chain that delivers you goods and services will inevitably end up with the large enterprises who sponsor or develop those projects.
"Pay to download or for other services: Not worth it; users can find the software somewhere else and they don't need your other services."
So users won't pay a one-time fee, but instead they will pay a subscription to get that one software they need? They won't "find the software somewhere else" if it's behind a subscription, but will do so if it's behind a single payment?
Also, it doesn't have to be a subscription. The payment is 100% up to the developers that you pay, so they could sell a one time payment and register a lifetime subscription in this system for that.
However, OP's resource allocation model (each user determines which developer gets their payment) doesn't make sense to me. I think it would be better to prototype multiple resource allocation models in parallel and see which are most fair and sustainable over time.
It's nothing about what it actually does. If your business model:
1. Targets general people, rather than a very specific niche group 2. Requires users to carefully read a paragraph of text to understand the benefits
It just won't work. There is a reason that insurance salemans exist.
Whatever revenue you generated that is above what you got paid would go towards the less "lucrative" projects and maintainers keeping the open source going.
What if the person does make decent software, but is a huge influencer?
Why not opt for the Spotify model? Usage = money. Why turn this into a popularity contest?
Sorta like expanding the mobile phone experience to encompass your whole internet experience, so you can choose what services you use, and where they're hosted, and those two things are fundamentally decoupled.
One such app could be a sort of 'charge card' for websites, which would pay them pennies, or larger tips if you like, instead of having to see ads.
Another might be a connection to a search engine which allows you to tailor _your_ search experience instead of it being optimized in e.g. Google's interests with all the commercial stuff at the top.
In world when people would rather throw another $5/mo on another single service doing the thing.
I do think it might've been pretty popular if the experience was truly seamless but that takes a lot
Heroku?
The closest we have to this is app stores - and look how everyone moans about them.
I can't even imagine how to make it profitable, considering this market (seems to) be much smaller than App Store.
Kagi solves the conflict of interest aspect of search engines like Google. (No affiliation, just a satisfied early adopter.)
If you install e.g. a Photos app, then that'd be a viewer app + cache on your phone; a bounded-size cache on your NAS or ISP gateway-router; a thumbnailing and face-detection background worker started in your ISP's edge DC; and a primary store in some cloud.
If you install e.g. Minecraft, then the server for that game will dynamically reposition itself (and migrate its data) between running embedded on device, vs. on appliance-compute on your home network, vs. on your ISP's edge-compute, vs. on the cloud — depending on whether you're playing single-player, vs. multiplayer with someone else on the same network, vs. at least one player being elsewhere in your region, vs. people connecting all over the world. (And, of course, when nobody is connected to it, the server should quiesce to just being dead state and then gradually have that state "evict upward" toward the cloud.)
IMHO a major part of this would be getting ISPs to sell commodity edge-compute power to OS vendors, both in-DC and in-home-network (presumably by putting addressable application processing capability into ISP gateway routers.)
If I'm a developer and get to chose what to charge, that means I can ask people for $0.01, and they would get access to everything from all developers of this "platform"?
The example on [0] where a developer pays credits when they get a subscriber is confusing. Should Devs "top up" somehow?
You can do that but you will not make a lot of money that way. The number of subscriptions you can sell is limited so if you sell all of them for $0.01 you will probably wish you had asked for more and when you have sold out, only the more expensive subscriptions sold by other developers remain and they will make more money than you.
> The example on [0] where a developer pays credits when they get a subscriber is confusing. Should Devs "top up" somehow?
I don't know exactly what you mean by "top up" but the credits are turned into subscriptions when sold. This is how we make sure the developers can't sell infinite subscriptions. The plan is then that with time, the developers will get more credits so that they can sell more subscriptions. How fast they will get more could depend on the current value of their account, where the value could be calculated from the credits and the number of subscribers they have.
So are you then implicitly setting the price yourself because anyone who doesn't charge enough can't get more credits?
Suppose someone develops an app which takes hardly any effort to make -- it's a hundred lines of code -- but it does something common that everybody needs so if available for $0.01 it would have a hundred million users. Which would gross a million dollars and more than pay for the development of the simple app, so the developer is satisfied with that. But to do that you'd have to let them sell a hundred million subscriptions for $0.01 each.
Now let's go toward the other end of the spectrum. Some app which is specialized and requires a million dollars of developer time but only has a market of 10,000 customers. Those customers would pay $100 each for it, if they had to, but not if they can buy into the system somewhere else for $10 (or $0.01) instead.
In general, who is going to buy a fungible subscription for significantly more than it's available somewhere else? How do you handle the fact that the development cost of a thing isn't proportional to the number of people who use it?
Software is easier to produce, sell, and distribute than any physical product. You don't have to worry about warehouses filled with unsold inventory. You don't have to worry about quality control and returns. It still blows my mind how much easier it is to run a business that deals with bytes instead of atoms. The OP talks about software having no copy protection, but Amazon sells DVD players and cordless drills for $30. Imagine for a second how hard it is to compete with that. Competing with Google or Microsoft or some startup is a walk in the park in comparison.
In software the hard part is making an excellent product. And let's face it, that's where most people fail. It has nothing to do with monetization.
However, since then we have come to learn a lot about software. The most important of which is that software, just like physical products, needs maintenance. The world is constantly changing and evolving, and software has to keep up otherwise it'll become obsolete within couple of years. At the very least it must be patched up with newly discovered security threats.
Just look at all the money/effort spent to make features backward compatible, or army of engineers employed by companies just to maintain existing software.
I'd say at the very most it needs security updates. Too much software changes just to change. UI redesigns for the sake of redesign, cramming features that nobody wants so a product owner can get promoted, adding telemetry and analytics to chase metrics that no user cares about, adding annoying notifications and popups to juice "engagement". I pine for the days of desktop software, where I can wake up in the morning and not be worried that some developer 1,000 miles away from me changed my product out from under me because developers gotta develop.
Another benefit of software that doesn't change every week is you can charge one time for it rather than these awful subscription pricing that most software are switching to. They justify subscriptions because "we have to keep paying developers to develop." Not a problem that the user has, so why should the user have to pay for it?
Old, unchanged software is not obsolete. It's mature. Bugfixes only, please.
I mean, sure, this is what all the software developers have been saying...
In the meantime, I'm constantly seeing users, even here on HN, complaining about how their favorite software tools are changing. Users the world over annoyed at SaaS, and pining for installable software that they can just put on a machine and never have to worry about forced upgrades or annual maintenance fees, etc., or even the convenience of not needing an internet connection for it to work.
The software world has never been black and white. There are product niches, and also use-case niches. You could probably make a good business by choosing something that's only available as SaaS and releasing a local-only version of it.
Only if it talks to the internet. I have plenty of software I downloaded over a decade ago that has no internet access and runs perfectly fine on Windows 11. Much of it is even older than that. Just stop trying to cram social media integration into your label-making program and it gets a lot easier.
I feel this is largely being overstated point, or rather that in reality majority of important patches for software is due shoddy quality of it originally rather than external changes. Most security issues are rehashes of common well-known attacks rather than completely novel discoveries. Especially on desktop the platform churn is pretty low, windows happily runs like decades old binaries, and on Linux desktop we have this one major breakage happening that is Wayland but otherwise well-written decades old code is at least source compatible if not binary compatible (although even that is not that far-fetched...).
There's some truth to this, but I think this factor is usually dramatically overstated. At least, most of the software I use doesn't need to constantly change. The majority of software updates I see are unnecessary, and many of them are undesirable.
Take into account maintenance when pricing your software.
Like 9/10 apps need no internet connectivity at all, unless they are spyware of course, which most commercial apps are nowadays.
Maybe you've never experienced the difference between writing software for 1000 people and writing software for 1M people, or (I imagine) 1B. The marginal per-person cost of software is not on shipping. It's on "what kind of weird shit will I now have to do because 1M is a lot of chances for my software to break weirdly, and people have paid for it"
> You don't have to worry about quality control and returns.
You don't have to worry about quality control and returns if you don't care about quality control or returns.
But if we're talking about plain old regular software, something that needs no server to operate, and functions perfectly fine offline, something like, say, Photoshop, how different is the impact on the manufacturer when the software is used by 1k users, 1M users, and 1B users?
Yes, having 1M or 1B users means more opportunities for the bugs to surface and for people do be upset with the product. But do those scenarios impact the quality of the product for other users? Does they introduce unseen costs to the manufacturer? Do they make the product unprofitable or unsuccessful in anyway? Or does it mean that the manufacturer will have to refund 0.1% of their sales, and only benefit from the 99.9% of sales where the product worked as expected?
Software use cases experience combinatorics, and almost all useful algorithms have log(n) runtime. Even when Knuth says they are O(1), physics or EE say he’s wrong. There are no economies of scale. Racks don’t get cheaper when you run out of network ports. Cooling doesn’t get cheaper when you run out of roof. Things that failed one time in a million calls now happen every hour instead of twice a month, and actually have to be fixed.
It’s death by a million cuts.
> Physical manufacturing is hard, but it at least brings in dollars
You say this as if it's some indelible fact that if you make a physical product, it WILL be bought and you WILL make a profit no matter what, but I think it's safe to say this is objectively false, as many failed physical business would attest to.
> OSS, privacy and wankers reverse engineering your software shrinks your market substantially.
As opposed to in the physical world, where nobody ever cribs your ideas and sells them at a discount compared to you... AKA "Amazon's business model"? (not to mention overseas knockoffs of products
Given all these things being equal then, software has all the same benefits that your parent comment mentioned, while staying at best EQUAL with physical manufacturing, save for maybe higher salaries to the people making your product (arguable in some cases, but on average probably true) but this difference pales in comparison to not having to own a warehouse and manage last-mile shipping costs etc.
I have worked on FLOSS software and I have worked on non-FLOSS software and I don't see most FLOSS software sucking in a way that non-FLOSS does not.
FLOSS has some advantages - as there is no compelling need to release new features which can drive up revenue and profit (or at least OKRs) for the next quarter, you don't get a constant need to release unneeded junk to try to squeeze the last dime out of consumers. You can actually spend time refactoring the code, or only releasing when it is properly architected.
Most of the servers and smartphones in the world are running on a FLOSS kernel. MacBook's OS derive from CSRG's BSD, and even some of Windows, like the Internet stack, derive from FLOSS. If it sucks so much, why do virtually all major operating systems derive fully, or at least partially, from it?
* Software is extremely expensive. Software engineers are expensive, and for a good software project you need a tech lead, a manager and probably a few developers. These are all people you need to pay tons of money for.
* Software is constantly changing, something that worked 2 years ago can be broken beyond repair today. You need a team that can keep up with this.
* Software needs maintenance. You can't just build an app an call it a day, you need to employ a team to maintain it continuously. You can build a massive, gargantuan bridge and maintain it maybe every few years/half a decade to keep it safe for 30+ years, you cannot do that in software.
* Unlike what outsider think, software -- even "boring" CRUD/web software -- is still very much a research project. If you ask a civil engineer how to build a bridge, they'll tell you about all the techniques that were developed over the many many decades. What a developer focuses on while writing code is mostly ideas developed in the last few years. Although you think you're building a simple app with 3 devs, what you're missing is you have your own tiny research lab studying how to develop this simple app the cheapest way possible while making it maintainable.
* Software by its very nature is hard to make money off of. Its complexity is opaque to most people, they're not willing to pay. You'll always have people pirating it, eating away from your bottom line. Moreover, each new software means changing workflow, so even if you have the best product on the market, decent amount of people won't switch from the industry standard.
* Modern software engineering methodology focuses on, among other things, time to ship, feature richness and maintainability. It does not focus on correctness -- partially because our theories on software correctness are lacking (even if you decide to use novel/extreme approaches such as Dependently Typed Programming, formal proofs etc it's unclear/unknown if you'll reach a significantly better correctness metric). This makes your product inherently frustrating to the customer. No matter how much money you spend, you'll always have a product that's a little bit buggy. This means the product is very sensitive to the amount of money you throw at it. If you throw Apple level of money, it'll be less buggy, if you have a barebones team it'll be more buggy.
> * Unlike what outsider think, software -- even "boring" CRUD/web software -- is still very much a research project. If you ask a civil engineer how to build a bridge, they'll tell you about all the techniques that were developed over the many many decades.
As a nonpracticing civil engineer, you're underestimating the ongoing maintence that goes into any large bridge.
Also, though the techniques may be more established, every bridge must still be designed to fit the specific characteristics of its local geology and geography. But come to think of it, fundamental computer science algorithms are pretty well established, like bridge-building techniques. Software engineering is simply fitting the code to each unique problem, as bridge design fits a bridge to each unique place.
Most (all?) of the ideas I see are at least 20 years old, if not 40-50. Something like Spring wouldn't be my ideal choice, but it can certainly get the job done for most people, and it's 20 years old. MVC dates back to the 70s. Postgresql is 27 years old and is a fantastic choice. SQL and RDBMSs date back to the 70s. The term CRUD itself dates back to the 80s. Server rendered pages are still easy to do, perform way better than most React-based abominations, and are as old as the web. If anything, software is plagued by these "research projects" that are mostly just to scratch smart people's itches.
Take for example any mobile app. Apps require constant upgrades to keep up with the hardware and software changes on the platforms. You can’t just build an iPhone app and leave it alone to be enjoyed by people. I’ve tried, within a year or two there will be changes that require developer work, if you don’t keep it maintained, it will start to crash and function poorly, Apple, for example, tracks everything and will start with de-boosting search results for your app and end with removing it from the platform entirely.
Google is the same. I’ve tried, I built a Top 25 RPG and got busy with other things. It went from Top 25 to deplatformed in less 5 years because unmaintained software just doesn’t work in most cases today.
Software is more complex now. All software is a conglomeration of lots of other software: frameworks, platform tools, libraries, APIs, etc.
Another example: Flash
Another example: All the AI software being written on top of the OpenAI API will be broken in a year or two as they roll new versions of the API and deprecate the old.
Software doesn’t just work anymore. The platform that executes it is constantly changing.
My favorite is when a new Apple update breaks your app, so you identify where the issue is and make a small update, but now Apple rejects your update because of some other arbitrary guidelines it's changed, so you then have to start down that rabbit hole.
It depends on the software. But where this is true, it's not because of some innate nature of software, it's because of business decisions software companies have made.
Low barrier to entry is really important for new software. So it’s this struggle with some orgs trying to increase lock-in (Microsoft, Oracle, etc) and a constant stream of new products taking off, dominating the world, and getting knocked off themselves.
Maintenance, addition of new functionality, bugfixing, porting to other platforms etc. takes easily 10x-50x time than the initial release, and eats the vast majority of the developers' time and energy.
This is where "not being paid for your work" translates into abandoned projects.
For most software that can be sold in a box, without an attached cloud service, this approach works.
EDIT: Also some fraction would be using them on computers that literally haven't been upgraded or connected to the internet for a decade or more.
In the case of Apple, keep selling new hardware. I can't remember if they ever sold their software in the first years of Macs or if it was bundled with the hardware.
Engineering projects usually have a finished state. Software engineering is no different, no matter how much the industry wants you to believe otherwise.
Nowadays, software is different from the CD era, where you bought a game/software and that was it. Nowadays, people expect the software to be maintained, kept up to date and always compatible with the latest changes (new OS versions, compatibility with other software, etc.).
Maintenance is the high cost of software, not building it. This is why I sell my products with a perpetual license but with paid yearly updates. I can not work for free indefinitely as all the "lifetime" licenses promise.
A few offices, macbooks, and data center space is very cheap compared to building a manufacturing plant.
On the other side, what tech people understand that the general public does not... is that software has a healthy dose of maintenance and operational costs when it scales. Not a massive cost, but higher than zero - which is what most MBAs think the maintenance cost is.
I'd argue in all domains, the hard part is making an excellent product.
There are virtually zero real-world constraints you can leverage as excuses in the domain of software, other than the original idea was bad or you have really bad people around the idea. Most of the software ideas I have encountered in my career are fantastic. It's not hard to describe what a high quality product experience is like if you are a domain expert and have suffered the gauntlet for 30+ years. The part that always seems to go straight to hell is the implementation of the idea.
I suspect most software projects go bad because there are too many layers of separation between participants. In physical products, substantially more direct interaction is required to get things done. With software products, you can isolate everyone into different multiverses as long as they are pushing PRs to the same GitHub repo (and sometimes not even the repo is shared...). Over time, these silos ultimately ruin any sense of ownership and quality in the product.
It is quite tragic - while on one hand software is the most accessible form of human enterprise ever, it is also the easiest to do wrong. Having no constraints seems like win-win at first, but it is absolutely a double-edged sword. In my view, the best software company CTOs are the ones who intentionally add as many artificial constraints as they can to the technology and process. Do more with less. Force lateral thinking. Make the product people go back to the customer and say things like "we actually can't do that because of a technology policy" instead of pretending like an unlimited infinity of things is always possible.
- How does this feature work?
- How does the software do this?
- you said it does this and it doesn't why?
- can make the software do this?
Each one of these questions cost money to answer and needs someone to hand hold the user. especially if they are a non-technical business user.
It is excludable, but more so with SaaS type things: https://en.wikipedia.org/wiki/Excludability
I'm not sure exactly what you mean by this, as a large part of software development is QA testing, and validation. Which is a form of quality control.
You need a QA/QC process to identify units which are too far out of tolerance and either remove them from the pipeline or remediate them. You also need to track trends in the measured tolerances to proactively fix your production equipment.
In the software world, that’s trivially easy. Your CI pipe publishes an artifact and then every user gets a bit-perfect copy of that artifact. Your entire QC is just: Users compare the artifact’s checksum to the expected checksum. It essentially always matches because we use things like TCP to copy the data.
The type of QA you’re talking about is also required for physical widgets.
The fact of marginal cost results in a lot of software being written that otherwise never would have been. After all, the difficulty of solving a problem for myself often doesn’t offset the trouble of making a reusable solution. It’s only through having other people use it or pay for it that it becomes worthwhile.
Randall Munroe’s chart is incomplete because it thinks too locally.
That must be why most software startups succeed.
Hard tech startups are notoriously harder to get off the ground than software companies.
This is exactly why people should pay for software: consumption of physical goods destroys the planet. Money spent on software can't be spent on destroying the environment.
Ban ads*, make people pay for content and software and save the planet. Win-win-win.
* most of them anyways
Each line of code is a burden of future maintenance.
What's the incentive for a developer to sign up to this then, if they don't get a share of your subscription when you use their service? Isn't this a bit like asking Disney+ to give all Netflix subscribers access with no compensation?
So I don't see how joining in would benefit me - if anything I'd lose a bit of revenue from people who would have paid and now find they don't need to because they're signed up for some other product which I have no hand in and no revenue from?
This isn't it.
I donate a little to the EFF, monthly automatic, and a few other things irregularly as I feel particular gratitude. It leaves a million people unaccounted for, but all you can do today is pick a few things that matter to you and let others get the others.
And/or pay back/forward by contributing a little work of your own to the commons which I also do, but you can't expect most to do that, and I don't claim mine is valuable. Actually come to think of that, the reason I work on the things I work on is mostly because I just want to, so maybe most of those million are fine and there's no problem. But come to me with any kind of demand, well, I guess that's when paying enters the chat.
One such service that distributes payments could sell subscriptions in this system. That's one of the ideas I have had all the time with this project but I guess I forgot to write down; payment distributers should be one of those you can subscribe to.
Is this like Kindle unlimited where someone pays a single subscription and gets access to all content providers on the platform (in this case content is software), where creators get a proportion of the subscription fee based on how much a user used an app? So e.g. 10$ per month, I use FooReader 90% of the time, so they get 9$.
Idk, even if I am not getting the details, I don't think that any collective approach to app is going to work. Unlike with other industries like movies or music, products in software are very different from each other and is consumed in a variety of ways (library vs end-user app) that have a lot of complicated nuance (in terms of licensing and company goals).
It is like that, except that users buy the subscriptions directly from the developers. 1Sub doesn't handle any money. This also means that the developers get 100% of the money (except for any transaction fees depending on payment method).
> Pay to download or for other services: Not worth it; users can find the software somewhere else and they don't need your other services.
I also reject this premise. My evidence being the trillions of dollars spent annually on software and other services.
https://1sub.dev/link?u=https://news.ycombinator.com/item?id%3D&s=p_GonuAYEe0&k=&n=hK5ZOXymlHi5s2Es&a=a.18and what happens when you release a new version? someone will have to be the first to pay, and most people who want to immediately upgrade will also pay the day it's released instead of waiting for some sketchy dude to upload the executable somewhere else
People should not pay for software - average Joe should have all kinds of software basically free.
Now you ask "who should pay for development", corporations, companies or foundations where people still could donate but would not have to. Where corporations and companies pay salaries and provide end users with services.
Solo devs should not write and maintain anything without getting paid.
Yes it is "corporate dystopia" but on the other hand when I see all kinds of rants or horror stories from OSS maintainers and companies that don't want to contribute it seems only reasonable way. Corporation/Company/Foundation pay salaries for devs and provide people with software while charging for services like keeping data or any other actual services that can be connected to software they provide or in case of foundations by donations.
Same with OSS development. Why should you pay for something if people just do it for free? Doesn't matter who the consumer is.
> Solo devs should not write and maintain anything without getting paid.
But they do, and they will regardless. And until they stop, nothing will change. There's an oversupply of eager coders coding for free
Companies will pay (their own developers) once the OSS solution doesn't work or needs extra extensions that doesn't exist.
There's no thriving market of OSS apps for iOS.
So the solution is simple. Charge some money from developer to allow distribution of his apps. This seem to kill open source attitude very well.
and how about "corporation should not be allowed to use any software without paying for it"? it should essentially be treated like a tax. if the software has no price, then the price will be evaluated by some metric. (could be lines of code, but also revenue of the company could be considered)
What does it mean to "give access to downloads and other resources"? What kind of downloads and resources?
Can you give some examples of services that exist that you think don't work well enough?
That's simple, decentralized networks are better than platforms and this thing has no need for centralization
Subscribing to one is easier than subscribing to many. There is less friction and the user gets more for that subscription.
> Why does subscribing to one developer give access to all developers?
All developers (and everyone else) can add subscription checks to whatever they like that will let only subscribers pass.
> Why not put yourself in the middle and offer a subscription to "1Sub.dev" and give users the same benefits?
Then they would all have to pay me. I don't want that. Someone could have something against paying me. Maybe the payment methods I offer doesn't work for someone. Distributing payments seems like the only right thing to do.
> What does it mean to "give access to downloads and other resources"? What kind of downloads and resources?
It could be anything. Here is an example of a paywall for this comments page that will only let subscribers follow the link:
https://1sub.dev/link?u=https://news.ycombinator.com/item?id%3D&s=p_GonuAYEe0&k=&n=hK5ZOXymlHi5s2Es&a=a.18
> Can you give some examples of services that exist that you think don't work well enough?I don't know what kind of services you mean.
If people subscribe once and access everything, it seems like they'd need to charge a lot to make it a worthwhile co-op to participate in. It feels like the amount they would have to charge would become pretty financially restrictive to access the code and not in the interests of someone who wanted to open source in the first place...
- How does this handle the scenario of a developer disappearing?
Does everyone who had access through that developer continue to have access?
It seems since payment processing is handled by individual developers, no longer would people have to pay for access to the whole catalog. Does this now mean over the long term you are handling an ever increase supply of people with access who do not pay but can transfer their access to others for free?
- How does this handle the scenario of developers with subscribers who are supposed to pay a reoccurring payment but have stopped?
Does the developer have the ability to remove access to the catalog from specific subscribers?
If the developers have the ability to remove subscribers at will, doesn't this disincentivize paying at all because paying gives you no security in your access you just bought? What is your plan to arbitrate this without access to primary payment information to confirm who is right?
- It seems like although decentralized, this approximates to the journal model but for code? Is this your intention?
> If people subscribe once and access everything, it seems like they'd need to charge a lot to make it a worthwhile co-op to participate in.
I have thought about this a bit and yes, when this thing grows, the subscriptions will be worth more and more. I haven't really done any calculations though because it's really hard to know what things will be like. Anyway, let's try one:
Let's say there are 100 developers (individuals) and a developer wants $4000 per month. Then if we want a subscription to be $5 per month or maybe we could allow it to be $10, the number of subscribers per developer would have to be 100 * 4000 / 10 / 100 or just 4000/10 = 400. So I guess as long as the number of subscribers are a few hundreds times more than the number of developers (individuals), it could work.
> - How does this handle the scenario of a developer disappearing?
Interesting question; I have not thought about that. Developers register and unregister the subscriptions so hopefully they would unregister their subscriptions before they disappear. If they don't do that, it could be forced by the system but there would have to be rules about that then so everybody knows what will happen.
> Does the developer have the ability to remove access to the catalog from specific subscribers?
Yes, they can register and unregister subscriptions as much as they want.
> If the developers have the ability to remove subscribers at will, doesn't this disincentivize paying at all because paying gives you no security in your access you just bought? What is your plan to arbitrate this without access to primary payment information to confirm who is right?
That is between the buyer and the seller. If you buy something and you don't get what you bought, you would try to solve that with the seller. Of cource people can complain to 1Sub too and then maybe the other developers will lose trust in that developer and they can be kicked out.
> - It seems like although decentralized, this approximates to the journal model but for code? Is this your intention?
I have not thought much about the journal model but I can see how this is similar. My main vision has been tax that everyone who wants to be a citizen pays so that they then can enjoy things that are not sold directly to people.
In the opening statement of the site the idea of merely trusting the user without copy protection is completely ignored, but without more details it's not clear if the proposed system is any better.
What prevents me, as a rogue actor, from just adding all my mates to the database without them paying me anything? Would they get access to all other software from the developers who take part in this affair?
If you are not a trusted developer in the system then the API key prevents you.
If you are a trusted developer, then you can give away as many subscriptions for free as you like but you only have a limited number of subscriptions to sell so you will not make as much money that way.
What are you going to do about people asking for 1 cent to join the network?
More people should want to pay if they use this system because if you just ask for money, you either don't give anything in return (donations) or you give access to your stuff, but with this system, the user gets access to everything that uses this system.
> What are you going to do about people asking for 1 cent to join the network?
Developers can sell subscriptions for 1 cent but since they have a limited number of subscriptions to sell, they will not make a lot of money that way.
If you mean 1 cent to join as a developer, that is free; it's about trust. This should be a cooperation between developers who trust each other.
Yes, a developer can sell the subscriptions for very cheap but then they will probably quickly run out of subscriptions (there is a limited number) and then wish they had sold them for more.
Also, the subscription is not really tied to any product; think of it more as a subscription to free software in general, that can be sold by different resellers (the developers).
The issue that I have with subscriptions is, as I said, they become unmanageable and they are frequently dishonest, betting on you to forget to cancel them. You do a one year subscription for something, forget to cancel in time, and now you're stuck paying for two years.
Both SaaS and many other type of subscriptions really need to drop the recurring part and just let you "rent" the product. That seems more honest to me.
A lot of hatred of subscriptions comes from hard-to-cancel dark patterns that should be illegal.
Subscriptions always feel a little scummy to me, due in part to the way they're often advertised. I think that "Only $5/mo!" followed by tiny print saying "Billed annually" should be illegal, because it's clearly deceptive advertising.
Imho, the "just buy it" or "patreon to access the development discord/forum/whatever for OSS" seem like the best approaches. Like, I'm in Mastodon's patreon, and I'm happy to buy software. And while it may sting, I'm okay with "major release = new version buy it again". Not fond fond of installed local non-cloud software in the SAAS business model.
It's exactly Patreon or one of its many competitors. The "subscribe to a creator and get special perks" problem is common and solved, but as you note the "CaaS" (creator as a service) model isn't for everyone.
IMO the most sensical low level* economic model for digital things would be one where you pay a really tiny amount every time you derive value from something. A fraction of a penny each time you play a song, each time you edit an image in some software, each time you visit a website.
There are a boatload of obstacles to getting to a model like this, but as a thought exercise it's really interesting to consider an alternate universe where this model got established instead of, say, everything being ad-based. Not only would it provide a model for monetizing software, it would also for example completely reframe DRM (making it both far more ubiquitous but also far less antagonizing to the user, since it would be aligned with what the user is trying to do instead of being at odds with it).
* The idea being that this low level economic would exist but for practical reasons (like overcoming human psychology) you might need to overlay a higher level model like a monthly "unlimited consumption" subscription or tax.
"The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions [...]"
And more recently Brave, the browser tried to implement it.
"Crypto and DeFi are hard to use and the $330 billion digital advertising industry is failing users, publishers and advertisers. With Basic Attention Token and Brave we want to take Crypto to the next 1B users and solve the endemic inefficiencies and privacy violations hobbling the digital ad industry."[^2]
I personally think this is a beautiful idea, had it worked out as envisioned, the Internet could've been a very different and likely better place now. Pity cryptocurrencies came to be what they're in their present condition.
---
I read through your landing page and your how-it-works page and I am still...confused. That it ends on a hand wavey "we haven't solved this part yet" statement does not inspire confidence.
As best I can tell you are going to take a lot of open software and gatekeep it behind a paywall but each user only has to pay once...to someone...and then they can access all of the software behind that gate. So you are trying to make an ecosystem of software that can only be accessed by people that have paid some money at least once?
> Sorry, there are no developers to subscribe to currently.
If you actually want adoption, more needs done than posting the thing you built and suggesting people use it. Building effective, self-sufficient marketplaces is tough. Benefit has to be seen on both sides from the get-go.
Android -> Sales funnel for app store/services, and consumer profiling
MacOS -> Sales funnel for app store/services, and consumer profiling
Windows 11 -> Sales funnel for app store/services, and consumer profiling
Ubuntu -> Sales funnel for app store/services, and consumer profiling
Most people conflate information appliances with general purpose computing.
It is a shame 98% of the market went this route... You still pay, but are just unaware how you are being monetized. =)
The idea has problems though. How to pay for background ("invisble" layers). How to prevetn "hyper transparent citizens". Etc.
Software is stupidly simple to distribute, but for some reason one of the hardest to keep. Obviously if we cannot use any software of the past, we are stuck with developers having to maintain old or new solutions.
Society is spending billions of dollars each year for working on complex hardware and software to make that distribution possible. Physical goods are the stupidly simply thing to distribute.
If users can find the software elsewhere, then it must be cheaper or better if they don't want to use yours. If this is about pirating, then it's just a matter of time before they buy, unless the ransom for decrypting their personal files bankrupts them.
Please, no more subscriptions.
Take a free open source product, and charge for hosting & maintaining it.
Sketch App - $99 once, $99/yr if you want upgrades (I did not)
Wordpress model - Core is FOSS, money is made with custom plug-ins that can be priced freely.
Problem is with quality and adaptation.
If you mean "people" as in "A world where people pay for software", then no.
I think companies, especially software companies, would like to subscribe in this system if it gets big because if they have dependencies that require subscriptions, they probably don't want anything to get in the way for their employees.
the idea of "property" (ownership) which is the cornerstone of the whole of civilization breaks down when applied to digital goods.
Optional extras like 'downloads or other resources' are presumably digital and therefore do not solve the problem - folks can still pirate it. If that's not the point, then it is a donation, in the simplified parlance of the first paragraph of 1sub.dev.
And this all from a company/effort that has such lofty goals that the html title of the page is 'a world where people pay for software'.
This (how do you monetize software development / how do we e.g. let FOSS developers capture more than the current 0.0000000001% of the value they create) is an incredibly difficult problem and this effort sounds like some naive newbie took 5 seconds to think about it and thought: Yeah let's fix things!
At the risk of sounding like a crotchety old fart: Hoo boy if it was that simple, it'd have been solved already.
Alternative plans that work a lot better:
* The NPM ecosystem has a ton of software-as-a-service offerings, e.g. where you can use their site to serve as online tool to e.g. make documentation, to have their site host that documentation, etc. I hate this model (you get nickel-and-dimed and both companies and open source developers alike don't usually like having 50 downstream service providers who, if they go down or have issues, require you having to explain to _your_ customers what's going wrong), but it solves the problems this site names (you can't pirate this, and you get something of value for your money in return).
* Tidelift tries to provide security assurances and support: The payers don't just 'donate', they pay to just be done with the security issues with FOSS dependencies: Tidelift gives you software that scans all your dev work for all your deps and which versions you are on, and tidelift ensures not just that there are no major security holes in those deps, but also that the authors of those deps have made some basic promises about maintaining it in trade for real consideration (namely: money). Github sponsors and the like are more or less barking up the same tree. These setups also solve an unstated problem 1sub.dev tries to solve, which is: You tend to use _a lot_ of software; if you have, say, 600 dependencies (not crazy in this modern age of software dev), and you want to individually set up a 'deal' with all of em, one person has a full time job as they will have to renew over 2 contracts __every working day__ assuming all your subscriptions are yearly.
* Microsoft and co do it as a package deal: You pay one fee for everything they offer and aggressively legally chase down anybody that pirates.
* patreon and co grease the wheels of the donation flow by making it simpler and allowing developers to give something that's hard to pirate: T-shirts and stickers, mentions in the 'about...' page and so on.
* Some developers of FOSS, as well as _many_ commercial outfits, will accept money in trade for priority support.
All of these models have issues. But at least they actually aim to solve the problems. This attempt doesn't even begin to tackle the actual issues, unless I'm missing something.
As a 1million+ user FOSS developer who maintains the library primarily based on privilege (I have enough income to work for the roughly minimum wage I currently get for it, though I could have earned vastly more if I worked for a commercial entity for those hours) - I'm aware that this is not a good situation, that you need to sort out your finances separately just to be a good FOSS author. But, I don't see how 1sub.dev is going to add much compared to what's already there (patreon, github sponsors, FOSS aggregators like apache and eclipse foundation, tidelift, etc).
Here is how 1sub solves or remedies the problems with the mentioned methods:
- Pay to download or for other services: With 1sub it will be more worth it because you don't just get access to that software or that service, you get access to the software and services of all developers who participate in this system.
- Accepting donations: While 1sub keeps some of the voluntary aspect of donations, you also get something for your money.
> folks can still pirate it
Yes, the point of this is not to make it impossible to do anything without a subscription. It just makes the difference in convenience between subscribing and not subscribing bigger since there are more things that you get or don't get depending on whether you subscribe.
> this effort sounds like some naive newbie took 5 seconds to think about
Interestingly I have thought about this for many years and no idea I have had before or any solution I have seen has felt as good as this one because they always fail in that the user doesn't have enough reason to pay. The main objective of this solution is to give the user more reason to pay.
We pay for software almost exclusively through digital means, but the fees are too damn high.
Imagine if transaction fees were zero.
Imagine if a piece of software you used costed 10 cents per months. Or someone's patreon or github sponsor was 5 cents per month.
And then imagine if starting and stopping the subscription was intuitive and super easy with any digital payment method you happened to use.
I could see the flood gates open and now developers who got basically nothing will get a ton of small contributions that together would make up quite a nice lump sum every month
The reality is that just because someone pays less doesn't mean they cost less to support. And then, if you support a large number of cheap users, it's even more expensive to support.
As a business, you'd rather have 10 customers paying $10 dollars each instead of 100 customers paying $1 each. Larger businesses can overcome this with economies of scale, but smaller businesses cannot
Something in the mind switches and people turn full on psychotic when it comes to paying for digital services, and there's not much that you can do to fight it with logic.
Just look at Github projects for some really good stuff that are used by thousands or millions. At most the developers will have received 10-20 donations. Almost all of the commenters here on HN have never donated a single dollar to the projects that they love and enjoy.