4 ms·
If you cheat the definition, you could say Apple has opened some code, therefore they are an open source company. But, clearly that's not what's in play here.
by seiji 11y ago
If you cheat the definition, you could say Apple has opened some code, therefore they are an open source company.
But, clearly that's not what's in play here. It's difficult to be an open source startup because it's easy to get a big ego and start doing software wrong. You don't get people to use your software by saying "LOOK! We have VCs. Trust us. Buy our support contracts!"
You get people to use your software by making good features, growing by word of mouth, then you're entrenched and can start milking the support cow. Your word-of-mouth features don't even have to work (coughmongocough), they just have to be easy to brag about so developers get ego boosts by telling others "hey, look, i found this thing and you should think I'm cool because I'm telling you about it."
Another really important point: open source companies aren't proven. The current crop of open source startup VC funded happy towns are all experiments. It's very possible you can't create sustainable open source software companies (support contracts aren't zero margin software products, and nobody buys software anymore because lol "it's free!!!"). There's no natural "supernormal profit" engine if you make a good, clean, understandable open source product. In fact, it's actually the opposite: open source companies get big when the product is garbage (or too complex) because then everybody needs support to CYA against higher management.
(I've been thinking about writing a few articles about all this in January. Stay tuned.)
- CM30 11y agoOr perhaps (and here's a potentially worrying thought), we'll get open source software making any proprietary stuff impossible to sell. Like how the app store has become filled with 'freemium' apps and 99 cent paid apps. Open source would definitely be eating the world... though quite a few companies wouldn't be very happy in the process.
- seiji 11y agomaking any proprietary stuff impossible to sell. That is the end goal, right? Your margin is my opportunity. The problem in the middle is: open source software is considered free-as-in-never-pay-me free. I have multibillion dollar companies using some of my open source software. They've never paid me anything. They ask for bug fixes and feature improvements that would take me six months (or more) of full time work. They don't offer to pay (or then even balk at the thought), they just keep saying "you should support us for free because it's open source." Part of the "we won't/can't pay" is due to programmers being very low status people in organizations. Programmers don't have budgets to buy anything because "lol free open source" and "it's just code, do whatever." If programmers could allocate resources towards getting features/fixes they need from external projects, the software world could be more... synergistic.
- vetinari 11y ago> They ask for bug fixes and feature improvements that would take me six months (or more) of full time work. They don't offer to pay (or then even balk at the thought), they just keep saying "you should support us for free because it's open source." If you ever do business with corporations, you will get used to the fact, that they will for the moon and expect it for free. It is your task to tell them, what you expect to be paid and stick to it. They won't volunteer any money they don't have to, and will use any excuse that will make it possible (the procurement bonuses depend on money saved). It's up to you to not accept that excuse.
- seiji 11y agoIt's up to you to not accept that excuse. Except, the company endpoint is a low status programmer. Imagine how quickly the average programmer would get laughed out of the room if they went to their manager and asked for $100,000 to pay an external contractor to implement a feature they need. Oh, also the feature will be open source and other companies will be able to use it after it's written too. The world doesn't operate on that level yet outside of maybe seven companies in the world.
- fredgrott 11y agoalso its extremely easy to get someone to make a micro-economic decision in their best interest
- datashovel 11y agoDevelopers need to be bringing the culture of open source to their places of work. That means asking management for monthly budget they can use to make donations to open source projects (preferably to the projects they use in the company). If the most successful open source projects are not receiving donations from the companies that use them it's our own failing. And if management refuses to allocate a budget for donating back to open source projects (either in developer time or in money) then developers should tell their coworkers that the company they work for is not an open-source friendly company. They're not doing their part to give back to the community of developers who are working so hard in their spare time to make what they do possible. I think the last thing companies want is to build a wall between management and their developer teams like that.
- kanzure 11y ago> support contracts aren't zero margin software products, and nobody buys software anymore There have been other models for open-source software companies, such as the "sell some defaults to advertisers or sponsors". If someone could manage to work out the details, I think the open-source ecosystem would respond favorably to a bitcoin approach to revenue share (which would make it explicitly not "open source", but I think people are willing to forgive this violation). The hard part is figuring out how to negotiate with thousands of separate tiny "open-source" components, without project leaders making demands too ridiculous. At the same time, we don't really want a race-to-the-bottom of poorly-maintained software projects just because someone figured reimplementation could net him a bunch of revenue if he prices everything lower... presumably this cuts into long-term software maintenance, which is something that a good system would ideally incentivize both from the perspective of library authors but also from the perspective of software purchasers, who don't want to suffer from bitrot. (Another approach could be "performance targets" where bonds are created by library authors, but funded by company purchasers, who would be buying up some amount of technical debt in exchange for rights to deploy and use the software in their production environments. These bonds would then pay out to the library author team based on milestones, like long-term maintenance, or fixing scaling bugs, or something... But similar problems remain regarding how to handle the negotiation between thousands of tiny library authors vs companies that don't have 1000s of hours to waste on software negotiation..... Also lots of questions about "rebundling"- we can't have negotiations with all 100k library authors between themselves and some company just to strike a deal for the company to use an Ubuntu-like software system. Answer is probably something like "have an array of default ready-to-go contracts that any new business can use, and then have terms for renegotiation after a certain period of time or certain amount of revenue accumulation by the downstream company"..)
- seiji 11y agowe can't have negotiations with all 100k library authors between themselves Yeah, it's the "nobody is ever going to pay for bash, vim, top, netcat, ..." problem. Apple has found a good middle ground though. Pay developers millions of dollars internally (infinitely growing stock) then they release what they work on as open source code. It solves the (reasonable) compensation problem for individuals while letting new software spread purposefully throughout the world. We're just missing a middle ground where you can write open source software while not being owned by the most valuable company in the world.