Accessibility in Wayland
Accessibility in Wayland
Posted Jul 8, 2024 1:27 UTC (Mon) by raven667 (subscriber, #5198)In reply to: Accessibility in Wayland by atnot
Parent article: Rosenthal: X Window System At 40
I think there is probably a story here about which parts are insufficiently maintained and a lot of work trying to figure out how to find the resources to keep them maintained, when random volunteerism isn't enough, people depend on it, but there isn't a clear commercial revenue stream to tap into, or the commercial players have excelled at making their costs external and captured the value difference for themselves.
Posted Jul 8, 2024 4:07 UTC (Mon)
by raven667 (subscriber, #5198)
[Link]
Posted Jul 8, 2024 12:19 UTC (Mon)
by pizza (subscriber, #46)
[Link] (20 responses)
This has always been the primary driver in commercial uptake of F/OSS. Believing otherwise is highly naive.
Posted Jul 8, 2024 19:27 UTC (Mon)
by raven667 (subscriber, #5198)
[Link] (19 responses)
Posted Jul 8, 2024 20:43 UTC (Mon)
by atnot (subscriber, #124910)
[Link] (18 responses)
For example, if you are in the business of offering support for some server software, say a database, it may be in your interest to ensure that nobody else is making any money off of the operating system. Or if you are a games publishing platform who's lost a lot of ground to a handheld, you may want to make sure that the software components to make a competing handheld are freely available for anyone to use. Especially if the main platform your games are mostly run on is owned by another competitor. Or if you are, say, the #3 cloud provider, you may want to destroy your competitors chance to outclass you on container orchestration by releasing a free one that is so ubiquitous and capable that the market is absolutely swarming with "cloud" offerings. Or if you are the #2 GPU vendor, you may want to absolutely destroy the market for shader middlewares, APIs, Drivers, etc. You get the point.
I should say, I don't greatly mourn the loss of any of these, as a certified not-a-fan of markets as a way of organizing society. However if this was physical goods, this would be considered anticompetitive and wildly illegal in a lot of jurisdictions[1] and it has no doubt played a significant part in how monopolistic the tech industry is today. But when you're ostensibly or actually contributing something as ethereal as code to a public good, that's a lot harder to rule against.
[1] yes, I know, the US is not one of them, at least since the Chicago school ruined antitrust. but that's a different discussion.
Posted Jul 8, 2024 20:57 UTC (Mon)
by farnz (subscriber, #17727)
[Link] (11 responses)
I'd be interested to know which jurisdictions would consider it illegal to destroy a competitor's market with products sold at marginal cost or above. For physical goods, it's generally considered anti-competitive to sell goods below their marginal cost of production, but not to sell them for less than your competitors do, and the marginal cost of production of software is effectively zero.
Posted Jul 9, 2024 13:46 UTC (Tue)
by paulj (subscriber, #341)
[Link] (10 responses)
So, in particular at the early "Destroy our competitor!" stage, the marginal cost may be _huge_ - in that kind of model.
Posted Jul 9, 2024 14:07 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (9 responses)
What you're describing is not the marginal cost of production, but rather the total cost of production. The marginal cost is derived by assuming that your first customer pays all of your total costs to produce their order; given that you've now paid off your up-front costs, how much does it cost you to fill a new order?
And software is weird because total cost of production is high (a lot of up-front design work), but the marginal cost of production is so close to zero as to be effectively negligible - since the marginal cost of production of a new copy is the cost of copying that software over the Internet, where the Linux source code is under 1¢ marginal cost (since that's what the cost of one more copy out of AWS S3 would be, if you stored the kernel source tarball in S3), and probably cheaper elsewhere. Contrast that to (say) a carrot, where the marginal cost of growing one more carrot is not insignificant. You need to plant the seed, use slightly more fertilizer, pay the costs of having the harvesting machinery + people run for one extra carrot's worth of time etc. The total cost of producing a carrot would also include the cost of the field, the cost of ploughing that field and otherwise preparing it for planting, and anything else that you have to do to have a field of carrots; the marginal cost is the cost of adding one more carrot to that field.
Posted Jul 9, 2024 14:58 UTC (Tue)
by paulj (subscriber, #341)
[Link] (8 responses)
That said, even in the marginal cost model, there are still substantial costs in the earlier units. Cause almost universally earlier software units are shipped with substantial bugs and feature TODOs, and it's almost universal practice that there is the cost of significant engineering work to be done to ship further units - or even just to /support/ the already shipped units.
So, even in the marginal cost model, the cost of engineering labour is not a fixed cost - particularly not in the early phase of life of some software, the phase which would correspond to the "destroy the competitor by undercutting" phase of competition. I.e., the competitor being undercut could quite reasonably make the argument I make above to claim they were subject to unfair competition, even /if/ the competition law was predicated on marginal cost model.
Posted Jul 9, 2024 15:10 UTC (Tue)
by paulj (subscriber, #341)
[Link] (4 responses)
E.g., a browser you must spend significant engineering resources on to maintain so it keeps it's lead in mind and market share, so as to attract users to your search engine, so you can get advertising revenue, does not have a 0 marginal cost really, does it?
Posted Jul 9, 2024 15:15 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (3 responses)
The browser absolutely has a near zero marginal cost; its amortized costs, and its total costs are much higher, but none of the engineering resources you spend on it are specific to a single unit of the browser as shipped. And the marginal costs of the browser are the costs associated only with a single unit as shipped, not costs that are shared among all units shipped after the costs are spent.
You're describing either an amortized costs model or a total costs model - but anti-competitive behaviour laws tend to shy away from that historically, because the amortized costs are much harder to tease out from the outside, and when you've got a physical good, saying that it's anti-competitive to sell below a price set based on marginal cost has the advantage that it's very hard to argue with, and only protects you from anti-competitive behaviour, but not from a competitor who's simply much more efficient than you.
Posted Jul 9, 2024 17:21 UTC (Tue)
by paulj (subscriber, #341)
[Link] (2 responses)
Though, is the law going to be bound by economics textbooks. If a company is spending €xM on engineering to sustain a product in the marketplace, that they're selling at a price that undercuts others, and they're unfairly subsidising that required engineering cost using other revenue streams, then anti-competition law is going to apply, surely?
I'm no expert on cross-subsidisation competition law, but I'd be a bit surprised if such law was framed strictly to marginal cost. Indeed, for software I think it's impossible to say what the exact cost is for any particular unit shipped (do you have to dive into the companies' bug tracker to figure out exactly what bugs were fixed and who suffered them; and which features were added and who were promised them - never mind you often don't know which customers would have lost patience and walked away if a bug had not been fixed or a feature not added) - as I think you say (or imply anyway). An amortised model makes much more sense for software, precisely cause of what you're arguing about the marginal model. It's much simpler, workable, and gives a more fair view. And I'd assume the injured party would stand a good chance of persuading a court use that in its analysis?
?
Posted Jul 9, 2024 17:22 UTC (Tue)
by paulj (subscriber, #341)
[Link]
Posted Jul 9, 2024 18:28 UTC (Tue)
by farnz (subscriber, #17727)
[Link]
The law is, indeed, not framed strictly to marginal costs; it's just that proving anti-competitive behaviour with amortized costs is extremely hard, since the competitor is under no obligation to amortize the costs in the way you want them to, and the presumption is that the amortization in the competitor's accounts is correct unless you can prove that it's incorrect.
So, for example, I might have a 2D graphics library that I use in many products, and amortize its costs mostly on the products that aren't undercutting you - it's then on you to prove that when I say a given engineering cost belongs to (say) my my native compiled application framework and not to my browser, I'm being deceptive. And that's incredibly hard to do in most legal systems, since you'd have to have a pre-existing reason (not a fishing expedition) that gives you cause to subpoena not just my accounts, but also the underlying data that justifies my decisions to amortize costs in a certain fashion.
And that's a lot of why most anti-competitive behaviour actions depend on marginal costs, rather than amortized; marginal costs can be easily deduced from the material inputs to a product plus a suitable margin to allow for the cost of production, and the only way to refute that as your cost basis is to open up your accounts and show that your actual costs are lower and why they're lower. Amortized costs depend on exactly how things like engineering time, support staff time etc are accounted to the projects involved - and any good accountant can find ways to amortize the costs to get the right outcome in a given case.
Also worth noting that amortized costs do not have to be consistent between cases; I can account the same engineering time to the browser in a case about my native compiled application framework, and to the native compiled application framework in a case about my browser, and that's OK, legally.
Posted Jul 9, 2024 15:12 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (2 responses)
The engineering labour is not part of marginal costs, because it's a one-and-done situation; while it is spread out over time, it's not tied directly to the cost of producing a single unit, and only applicable to that unit.
In the marginal cost model, the cost of engineering labour is ignored - it's known to be there, but it's not part of the marginal costs; it's part of amortized costs, or total costs, but not marginal costs. And because marginal costs are relatively easy to account in physical goods (since it's basically the cost of the raw materials), most anti-competitive behaviour laws are written in terms of "selling below marginal cost plus some reasonable margin to cover other costs", not "selling below amortized cost".
Posted Jul 9, 2024 16:04 UTC (Tue)
by Wol (subscriber, #4433)
[Link] (1 responses)
But if it's an ongoing cost, it's not a capital cost, either. Maintenance *should* be paid for out of revenue, which makes it part of the marginal cost.
True the original engineering cost is an investment paid for out of capital, which is your argument.
But there's certainly a case to be had that if it's an ongoing cost, therefore should be paid for out of revenue, then it's a marginal cost that should be subject to unfair competition law.
Cheers,
Posted Jul 9, 2024 16:23 UTC (Tue)
by farnz (subscriber, #17727)
[Link]
It's part of amortized costs and total costs, but not marginal costs. Paying for it out of revenue does not make it part of the marginal cost; if it's paid out of revenue, it's an amortized cost, but not necessarily a marginal cost. Marginal costs of production are not total costs minus capital costs; rather, they're the costs that are directly attributed to a single unit of production, and that cannot be shared with other units of production.
Unfair competition law has historically liked this as the baseline for "is this anti-competitive" (with a requirement that you charge at least some percentage more than the marginal cost of production), since unlike amortized costs (where the precise amount of engineering effort attributed to a single unit of something is an accounting decision), there's very little wiggle room - the costs of producing this one item, given that you have everything you need to produce N items, can be reduced down to the materials cost of that item for physical goods plus some percentage to reflect the amortized costs of producing the item, which makes it very simple to avoid accidentally using competition law to protect an inefficient producer from a more efficient producer.
But this is what breaks down for software - software's marginal cost is tiny (the Linux kernel's marginal cost is under 1¢ per copy), and most of the cost is amortized costs at best. Which means that competition law is basically useless in most jurisdictions, since you'd have to show that I'm paying customers to take my software to show that I'm selling below my marginal cost.
Posted Jul 9, 2024 0:04 UTC (Tue)
by jjs (guest, #10315)
[Link] (5 responses)
However, if it's proprietary, it also means they are at the mercy of their vendor. Vendor can handle 1000 problems at a time and you're number 1010? Too bad. Vendor decides to jack up the price? Especially if there's no drop-in replacement, you're out of luck.
However, by using open source software, they can eliminate these issues. Hire an open source developer/development company to maintain the open source product X you use. Pay for bug fixes. If your vendor ups the price, you can go elsewhere. Want a feature added? Pony up the money and they'll add it (money talks).
And the odds are good you can probably set up contracts for less than the yearly licensing fees on that proprietary software. And by paying, you encourage the growth of the open source development community.
Of course, if you're cheap, you don't pay anything. And when the people maintaining that software you depend on either quit maintaining it (because they need to eat, for example), or take it in a different direction, well, you can always fork it. If you (a non-software entity) have coders. And budgeted for them.
Mind you, I'm not saying organizations are this smart. Most, I think, are on the order of the last paragraph.
Posted Jul 9, 2024 10:37 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (4 responses)
The difficulty is persuading people that it's worth their while sharing improvements (from trivial bug fixes through major features). Proprietary vendors can enforce sharing improvements by reserving the ability to improve the software at all, and thus being able to say "everyone gets the improvements we make, as long as they pay us".
But once you get into sharing your improvements, you face two sets of pushback:
Between the two, you end up with proprietary software having an advantage because organisations know that they won't get the change they want for free, but have to pay the vendor to make it happen.
Posted Jul 9, 2024 12:28 UTC (Tue)
by pizza (subscriber, #46)
[Link]
Or by effectively making every customer independently pay for the same improvements. [1]
[1] Which include "fixing glaring syntax errors that show the software was never even _compile tested_ before shipping it"
Posted Jul 9, 2024 14:18 UTC (Tue)
by jjs (guest, #10315)
[Link] (2 responses)
Both of which lead back to proprietary software - which is much worse. Unless you are a huge buyer of the software, or there's a very large common thing, why should proprietary software companies do maintenance? Maintenance is a cost in software, not a profit center. The big money is on licensing - the right to use the software.
Well, I'll somewhat take that back. For most software I've seen, maintenance is a cost (they don't charge for maintenance fixes). However, I have seen companies charge for maintenance. Normally lots of money. Plus licensing fees. And you still don't get the ability to go elsewhere to get fixes if they don't respond, and you can't easily change vendor (now you need new software).
Posted Jul 9, 2024 14:55 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (1 responses)
You end up in a prisoner's dilemma situation; for any individual user of a piece of software, the best thing to do is to not pay for maintenance at all and just freeload on everyone else. But the best thing for everyone who uses that software is for all users to contribute a "fair" amount to maintenance, such that everyone pays for maintenance, and everyone gets maintenance.
With proprietary software, the software vendor gets to force everyone to contribute a "fair" amount to maintenance, but takes a further fee as their profit margin. Everyone therefore pays more than they would in the open source everyone co-operates world, but the maintenance happens.
With open source, there's no forcing function; if you choose to defect and not pay, the cost is that the software is worse for everyone, and the gain is that you're not paying for maintenance while still getting software that's as good as anyone else gets. And you've got a proper prisoner's dilemma here, since, with "cooperate" meaning "contribute to maintenance", and "defect" meaning "freeload on other people's maintenance", I get the highest payoff if I defect and you cooperate (since you provide me with "free" maintenance), my next best is us both cooperating (software is better for both of us), then both defecting (software is awful, but at least it's free), and the worst is if I cooperate and you defect (I pay for maintenance, you get it for free).
Posted Jul 9, 2024 15:58 UTC (Tue)
by Wol (subscriber, #4433)
[Link]
Then hopefully they'll have the sense to do an occasional "over the wall" code drop along with the message "if you depend on this software, why don't you join us?".
Cheers,
Accessibility in Wayland
https://infosec.exchange/@kurtseifried/112748522867243886
which was claiming the beginning of an exponential growth curve of developer burnout in FOSS projects, from a security perspective in seeing firsthand how incident response is handled in various projects.
Accessibility in Wayland
Accessibility in Wayland
Accessibility in Wayland
How is destroying competitors' markets by selling at or above your marginal cost of production illegal in some jurisdictions?
How is destroying competitors' markets by selling at or above your marginal cost of production illegal in some jurisdictions?
Marginal cost of software
Marginal cost of software
Marginal cost of software
Marginal cost of software
Marginal cost of software
Marginal cost of software
Cross subsidy versus anti-competitive activity
Marginal cost of software
Marginal cost of software
Wol
Amortized costs, marginal costs, and capital costs
Accessibility in Wayland
Commercial support for open source
Commercial support for open source
Commercial support for open source
1. While they may think it gives them a small advantage, so does everyone else. Reality is the changes most likely are neutral in terms of competitiveness, but make life easier for their employees.
2. Yes, you'll get it free. But you run the risk of the support chain going away, because EVERYONE thinks like that.
Prisoner's dilemma in paying for open source
Prisoner's dilemma in paying for open source
Wol