13 ms·
Just yesterday, I was trying to explain to my partner (who isn't a programmer) why I think open source software and hardware is so important. My argument is tha
by maddyboo 8y ago
Just yesterday, I was trying to explain to my partner (who isn't a programmer) why I think open source software and hardware is so important. My argument is that without enough core components in the industry standard tech stack being open source, the more likely companies who develop solutions will restrict user freedom.
For example, Apple has been able to own nearly their entire iDevice stack from manufacturing to silicon to firmware to OS to ecosystem. They have very little incentive to interoperate with external organizations via open standards because they own many of the pieces which need to be interoperable. Thus, they can force users and developers to use their tooling, the applications they approve of, dictate what code will run on their platform, and how easily you can inspect, modify, or repair their products.
This is all to say, it is easy to imagine a future where all performance-competitive technology is entirely built upon proprietary, locked down stacks – AND – it will be at a level of complexity and specificity that independent people simply cannot gain access to the ability to create competitive solutions. It could be back to the days of the mainframe, but worse, where only the corporations who create the technology will have access to the knowledge and tools to experiment and innovate on a competitive scale.
Amazon wants developers to build solutions entirely on top of their platform using closed source core components. They also want to control the silicon their own platform runs on. In 10 years, what else will they own, how much will this effect the freedom offered by competitors, and what impact will it all have on our freedom to build cool shit?
- reikonomusha 8y agoFor Apple, I find almost the opposite in terms of forced development. If I want to write a program on macOS, I can expect the porting effort to Linux to be simple if not trivial, thanks to UNIX. Compare that to Windows, which has ostensibly less control, but I continue to find to be a massive pain to develop for. With that said, if macOS lost UNIX, I’d be done.
- adrianN 8y agoApple refuses to update their command line tools because of the license. The bash I have here is more than ten years old. It's only a matter of time before things diverge enough to make porting a major pain.
- giancarlostoro 8y agoI dont understand this, they already share some of the source to several OS components. Do you care to elaborate a bit on this? Is there some GPL clause or something that became too risky for Apple or something? How do BSD projects get by with the newer licenses aside from already being open source it doesnt seem to affect their underlying license...
- sanxiyn 8y agoAllegedly, Apple hates GPLv3.
- sjwright 8y agoAnd it’s worth remembering: Linus Torvalds hates GPLv3 as well. Meanwhile, updating gnu tools is pretty straightforward with homebrew, so the consequences of this view are minimal—for me, so far.
- belorn 8y agoLinus Torvalds has in multiple talks said that he does not hate gplv3. He thinks limiting DRM (tivo case) in the license is something he do not want for the kernel, and he strongly disliked the method where GPLv2 automatically upgrades to GPLv3 with the "or any newer version", since his view is that GPLv3 and GPLv2 is two very different licenses because of the DRM clause. During the debconf talk, he said that describing gplv3 as being similar to gplv2 was immoral. Here is a direct quote "I actually think version 3 is a fine license" - Linus Torvalds FSF view DRM as just being a physical version of a legal restriction, and they often quote laws that makes it illegal to bypass DRM as proof that DRM is also a legal restriction. Thus in GPLv3 they treat them as identical and they don't see it as a change in how the GPL license work. Linus strongly disagree on this. This is very different from the Apple case and I doubt anyone can find similar quotes from them.
- Someone 8y agoTheir lawyers likely strongly advised against bundling GPLv3 software with their OS because there is a non-zero risk that some judge, somewhere, some day, will claim that requires them to release the source of all their software under GPLv3. I think that, if GPLv3 ever gets sufficiently tested in courts all around the world (which is highly unlikely) that stance could change.
- Meai 8y agoYou are speaking from inside the walled garden here, from the outside the effort of porting to macOS is monumental. The naive way is: I have to buy hardware, learn new Apple specific languages, learn a new OS, learn a new IDE, be compliant with their app store policies, distribution etc. (which applies to Windows now too I suppose).
- reikonomusha 8y agoI suppose I’m an outlier then. I just use normal UNIX tools. No Xcode, no IDE’s, no proprietary toolchains. Maybe my programs are too boring. :) There are some portability quirks for sure, though.
- Koshkin 8y agoWhy not Linux, then? Why pay "the Apple tax"?
- aoeusnth1 8y ago(not the OP). I develop linux services on a Mac, connected remotely to a linux workstation. My company pays the Apple tax, and the hardware is nicer. Plus, my friends use iMessage. I tried using a company Linux device only to find that its graphics drivers weren't supported, the 4k scaling didn't work nicely without spending ~30 minutes looking up how to do it the hard way, and it didn't play nicely when connected to a normal 1080 monitor. I returned the device after (thankfully) it failed.
- xnyan 8y agoIf you don't mind me asking, if not developing for ios and need xcode for appstore access, why are you on mac?
- dkarras 8y agoExcept for "I have to buy hardware", that's... just not true. Even buying the hardware can be circumvented but let's stay strictly legal here. As OP said, it's unix, at least extremely unix-y so you don't have to learn apple specific languages. You can choose to do so for better integration to their system and vision and UI idioms (and should I say, macOS native applications are the BEST thought out applications you'll ever have the pleasure of using in user experience side). But whatever code you run in Linux will be trivially ported to macOS. Learning a new OS is... I mean it is a new thing to learn but it isn't like you didn't learn the OS you are using at some point. Unless you think that there should be one and only one OS for the entire universe that everyone uses, this is an irrelevant point. For the IDE, again, you don't have to, but you can choose to learn. Most popular IDEs natively work on macOS just fine, and you can just use your terminal like in any unix system, use your build scripts etc. For macOS, you don't have to be compliant with anything, you can distribute your apps the old fashioned way. If you want to be in their dedicated store though, yeah they have rules. I think that makes sense. For iOS, that store is the only way to distribute software and your points would make a bit more sense. But I actually am on the fence about the merit of the walled garden approach of iOS. Android ecosystem is a cesspool of malware. I can deal with malware on my computer. My computer has the resources etc. And computers are my job. But my mobile phone IMO has to run trusted code, I will happily delegate some standards to a central body as long as they manage it sufficiently well. When I install an app, I want to be sure that there are reasonable protections about what they can and can't access in my phone. I take my phone with me everywhere, it knows A LOT about me. I can't disassemble all binaries I use to make sure they aren't doing anything shady. Apple has automated tests for this stuff. I know it can't be bulletproof but it is something. They are fast to respond to exploits and they manage to keep their platform secure. If a "free for all" device was popular, I'd still manage. I'd just have to be EXTRA EXTRA paranoid about what I install in my phone and it would decrease my productivity and quality of life quite a bit. That I can manage. But the whole ecosystem would be A LOT less secure. Not many people would exercise discipline. Viruses, malware, rootkits everywhere, billions of people carrying them in their pockets everywhere. My inclination right now is that that would be a worse deal right now for the world. While Centralisation and corporate power is something I generally despise, in this case (mobile OS, walled garden, corporate control over what apps can and can't do on their platform), I think can see the merit as long as they don't majorly screw it up.
- amelius 8y ago> For Apple, I find almost the opposite in terms of forced development. If I want to write a program on macOS, I can expect the porting effort to Linux to be simple if not trivial, thanks to UNIX. Reminds me of the days when I had to buy Windows to test if my website worked on IE. In the case of Apple, I have to buy the hardware too!
- pjmlp 8y agoHistorical accident of rebooting Copland with NeXTSTEP, which wasn't even relevant for NeXT beyond bringing developers into NeXTSTEP world. The real Apple developer culture is around Objective-C and Swift tooling, alongside OS Frameworks, none of them related to UNIX in any form. In case you haven't been paying attention the new network stack isn't even based on POSIX sockets.
- Koshkin 8y agoYes, you can write a UNIX program that will run on MacOS. You can even use Autotools and X Window API. On the other hand, a usual MacOS application is not "a UNIX program."
- PostOnce 8y agoDozens of small companies (ranging from a couple of people to a couple dozen) rely on me to decide and direct their tech stacks; I always suggest something other than Amazon even where Amazon is suggested first by them; the vast majority defer to my judgement. I think I'm not only doing them a service by avoiding lock-in to AWS specific "stuff", but also our industry and society at large by maintaining software diversity and openness. Often they also save a nontrivial amount of money by not using AWS (RDS has been particularly egregious). Just making suggestions (rather than demands or whatever) is very powerful, particularly if they respect you and there is some solid logic behind your suggestion.
- dokalanyi 8y agoWhat alternatives to AWS could save a non trivial amount of money? Especially for RDS? I think we're getting to the point where servers cost quite a bit
- ComputerGuru 8y agoAzure is both comparable to and cheaper than (and subjectively better) AWS.
- chopin 8y agoBut that's trading lock-in to AWS for lock-in to Microsoft.
- roman030 8y agoStill kind of diversifying
- nostrebored 8y agoI've literally never heard this from anyone who's used both at an enterprise level. Personally I recommended azure a few years ago rather than aws for a docker based microservice app but the biggest drawback was the cost. What exactly are you running that's cheaper?
- ryacko 8y agoPerformance competitive technology requires paying for its development. Electronics manufacturing is inherently heavy industry, nothing short of mandating FPGAs would tilt it any other way. The world we live in is built upon a series of choices, the most important of which is whether you take a higher paying job or building what you desire. There will always be a lag between the latest product, or in the case of Linux vs Unix, reverse engineering and developing a compatible product.
- rbanffy 8y ago> nothing short of mandating FPGAs would tilt it any other way. I can think of multiple alternatives that could be taken in isolation or combined. - Regulating the market and splitting foundries from their IP developers (this may not even be necessary at this point) - Funding development of a rich set of public-domain IP that could be used to build a common standard platform - Direct all government purchases to be of such public-domain standards - If necessary, fund capacity so that the foundry market remains competitive even in small runs.
- pjc50 8y agoUS government (and other major purchaser) "second sourcing" regulations are a longstanding attempt to keep a competitive market in situations where it would otherwise collapse into a monopoly. That's how Intel came to share x86 with AMD in the first place.
- rbanffy 8y agoYes, but I'm not sure it's still as influential as it was in the 80's and 90's
- jplayer01 8y agoI'm not sure what you mean. We wouldn't have AMD now, and the utterly non-competitive x86 CPU market would look entirely different than it does now. Despite AMD not being competitive on performance in the past ~10ish years, they were still an alternative if Intel ever really dropped the ball or went off the rails on exploitative business practices. Without that counterweight, there would've been no limit to what Intel could've done. More needs to be done to ensure proprietary silos like Apple, but second sourcing has, largely, done its job.
- baybal2 8y ago> They have very little incentive to interoperate with external organizations via open standards because they own many of the pieces which need to be interoperable. Thus, they can force users and developers to use their tooling, the applications they approve of, dictate what code will run on their platform, and how easily you can inspect, modify, or repair their products. I myself is wondering why this is not yet the case. Say, TSMC opening up a "privilege tier" only to those companies willing to make their chips with DRM to check executable signatures against their keys, and they will only be issuing signatures for non-insignificant amount of money.
- pjc50 8y agoTSMC are ""just"" a factory, they're not the ones with enough market power to do that and it would really annoy their customers. It's more people like Apple we're talking about here.
- jsjohnst 8y agos/factory/foundry That said, I think saying they are “only in manufacturing physical chips” is grossly minimizing what TSMC brings to the table for a major chip designer.
- petra 8y ago>> and what impact will it all have on our freedom to build cool shit? Considering how much the cloud, and it's many services has improved our ability stuff, and will further improve it - i don't think that our ability to build cool stuff will be more limited than before the cloud. Quite the opposite. But we'll need to pay more money to Amazon.
- ramijames 8y agoI help run a blockchain tech company (https://get-scatter.com/ https://get-scatter.com/) who is creating an Oauth like stack that lets regular users access decentralized systems. A lot of the philosophy from FOSS is thriving in those communities and for the same reasons: the web has become incredibly centralized. For many people it is entirely limited to access via walled gardens of app stores and social platforms. For those of us who grew up in the 80s and 90s, we remember the web as a very different place and long for it. For those in the east, especially China, there is a very real problem of privacy and access which decentralized systems help alleviate. I'm all for FOSS in every way. I wish more people were. We are collectively painting ourselves into a corner by allowing these enormous corporations access to every detail of our lives. Computing should make us more free, not less.
- simonh 8y agoAll of what you say is true and I completely agree it's important to have open solutions out there. What vertical solutions offer though is accountability. If there is a security issue in the iPhone everybody knows who owns the problem. If there are scammy apps in the iOS App Store - and there actually are - everyone knows who has the power and responsibility to clean that up.
- metildaa 8y agoOpen source isn't a solution to the problem you bring up, proper maintenance processes are. A great example of this is the Debian package archive, with 51,000 packages in the archive, you know each package has a maintainer that has vetted that package, and they will maintain it for the rest of the release (usually 2 or 3 years) even if the developers of it wander off or disappear. Key to this is the Debian Social Contract, which defines what is acceptable, and when maintainers should start ripping out malicious anti-features or reject malicious updates from the upstream project: https://www.debian.org/social_contract https://www.debian.org/social_contract Comparatively, PyPI & npm are unmaintained dumping grounds of sketchy software, like copying code sight unseen off StackOverflow, but with the added risk of every update potentially being malicious. The lack of separate, objective maintainers for these package archives has caused a plethora of issues, from packages randomly disappearing, anti-features being added, to malicious code being embedded. This is a cultural issue around managing packages that the Free Software world mostly solved decades ago, yet Open Source communities like nodejs can't figure out these basic processes that prevent bad shit from happening to packages in their archive.
- jacobush 8y agoI agree with the specific examples and symptoms you cite, and yet I can't really see the dividing line being Open Source vs Free Software. Say, OpenBSD is thoroughly vetted and ("soft, permissive") Open Source. They also have a social contract. (Perhaps not in writing as much as in culture, I am not very familiar with the BSDs either technically or socially but I know the software is very well vetted and accounted for.) Or maybe I misunderstood the distinction you make.
- 8y ago
- godelmachine 8y agoThe thing you are trying to speak in favor of is Android. Google itself has admitted that Android itself is a mess by lieu of the fact that they open sourced it in the first place. Good thing Apple kept everything proprietary. There’s at least one Technology Stack I can place my trust on.
- dexen 8y agoThe thing you are trying to speak in favor of is Apple Macintosh, with its proprietary OS long since replaced by POSIX-based and Mach-based MacOS X. We had beautiful gaming consoles, beautiful Macintoshes, and IBM mainframes, and beautiful Burroughs and Symbolics' Lisp Machines, and the Commodore C=64s. And yet here we are, the open ecosystem has won again, as it naturally does, based on the costs structure and information propagation. The consoles are PCs now. The mainframe of yesteryear is now a datacenter built from souped-up PCs. The mobile phones, at first dominated by proprietary OSes, are tilting ever more towards desktop-grade OSes. And the C=64s are dead and the demoscene is delivering the eulogy.
- pjmlp 8y agoMacOS being replaced by POSIX-based and Mach-based is an historical accident. Had Steve Jobs been at somewhere else or Jean-Louis Gassée won his bid, and there wouldn't be a POSIX-based and Mach-based Mac OS X to talk about. Linux is losing to MIT based OSes on embedded space, where OEM can have their cake and eat in what concerns FOSS. If Android does get replaced by Fucshia you will see how much open source you will get effectively from mobile handsets OEMs.
- godelmachine 8y ago>>If Android does get replaced by Fucshia you will see how much open source you will get effectively from mobile handsets OEMs. Right now, only Apple has the knack to control OS version releases uniformly across all of its devices.
- jeswin 8y ago> Google itself has admitted that Android itself is a mess by lieu of the fact that they open sourced it in the first place. Can you provide a source for this claim?
- DavidNielsen 8y agoIn fairness to Apple they are these days quite the Open Source company. Their main language is fully open source in every sense the word. You can get large parts of their base OS under an acceptable license as well as their stack, much of which is developed in the open or work is open sourced as Apple is able to. Of course they will keep back OSS code if it means making a big splash at a presentation but I don’t think that is a bad thing as such, who would deny them a bit of theatre. They also do a lot of tech blogging on their Open source code, especially the Safari and WebKit team have some excellent posts regularly. Sure they have proprietary magic in there but it is not as big a part of the pie as people imagine, and certainly less than in years past. The same is true for Microsoft, who now famously aims to be the biggest Open Source company in the world (having acquired GitHub, Xamarin and many others, as well as made partners and friends out of enemies of the past, to help them on that journey). In fact I can’t think of a single major company in the business which hasn’t embraced Open Source to some degree. I don’t think that the Apple strategy of controlling the entire experience means what it used to anymore. It doesn’t mean locking you in to just one way of doing things, we now know that we need the compiler, tools and stack to be available and truly free, as a bare minimum for this to work and experience shows that the more work we share, in general, the better an experience we can present to users and developer. Open Source has won, all these companies taking on designing their own chips, datacenters, OSes, languages and so on, they would not be possible without that commonly shared mass of work. Famously FaceTime was supposed to be an open standard, until someone threatened to sue them for damages to the tunes of X times infinity, which is a fairly large dollar amount for any given value of X.
- rvp-x 8y agoNeither of those are open companies. Stop listening to their marketing departments.
- teekert 8y agoThe positive view would be that the market always has enough demand for open source software and open hardware because as you say it would make it impossibly hard to start as a new small player in a closed, controlled market and the would kill innovation. The coming year will be important and interesting in this regard.
- jillesvangurp 8y agoAmazon is not the only game in town. They are competing not on cost but on feature set. However, for them running their own chips is mainly a way to optimize cost. Open source hardware is going to be a key enabler for them. Right now both Apple and Amazon are still using arm based processors, which are not open sourced but very common. The whole point of that is that it allows them to leverage open source compiler tool chains, open source kernels, etc. Replicating that stuff internally as a proprietary me-too style implementation is stupendously expensive. Neither Amazon nor Apple do that. Instead they roll their own chips optimized for their own use case. As open source chipsets based on e.g. risc-v become more popular, tool support for that will become more popular and it will become a natural choice for building custom hardware. Breaking apart the near monopoly that Intel has had on this since the nineteen seventies is a good thing IMHO. Having a not so benevolent dictator (Intel) that has arguably been asleep at the wheel for a while now is slowing everybody down. This is what is driving people to do their own chips: they think they can do better. The flip side is that companies building their own custom chipsets need to maintain interoperability. If they diverge too much from what the rest of the world is doing, they risk isolating themselves at great cost because it makes integrating upstream changes harder and it requires modifying standard tool chains and maintaining those modifications. Creating your own chip is one thing. Forking, e.g. llvm or the linux kernel is another thing. You need some damn good reasons to do that and opt out of all the work others are doing continually on that. Some people do of course (e.g. Google forked the linux kernel a few years back) but it buys them a lot of hassle mostly and not a whole lot of differentiation. They seem to be gradually trying to get back to running main line kernels now. If Amazon, Apple, MS, Google, Nvidia, etc. each start doing their own chip designs, they'll either create a lot of work for themselves reinventing a lot of wheels or they get smart about collaborating on designs, code, and standardized tool chains. My guess is the latter is already happening and is exactly what enables this to begin with. Standard tool chains, open chip designs, an open market of chip manufacturers, etc. are what is enabling this. Embedded development was locked up in completely proprietary tool and hardware stacks for decades. That is now changing. You are describing the past few decades not the future.
- hawski 8y agoIt means that it's time to break down those companies with antitrust laws. Apple, Google and Amazon should be broken to many separate companies.
- hellisothers 8y agoApple isn’t forcing anybody to do anything. Not only do you have other options, they’re not even the biggest fish and they’re not trying to be.
- zjaffee 8y agoI have to disagree here, because the breakup of vertically integrated monopolies has been something that has been done by governments before. Entire components being open source certainly reduce the barrier for further closed source components, but we can develop open standards regulations that require certain middleware to be open and interoperable to prevent monopolization.