4 ms·
It’s a perfectly reasonable reason: they were forced to open source their objective-C compiler that was built on gcc and decided they didn’t ever want to be in
by fiddlerwoaroof 5y ago
It’s a perfectly reasonable reason: they were forced to open source their objective-C compiler that was built on gcc and decided they didn’t ever want to be in that position again. The BSD tools are annoying, if you’re used to the Linux versions, but they’re perfectly reasonable implementations of the relevant POSIX utilities (better than busybox, for example).
- SeanLuke 5y agoWhat? NeXT open-sourced their Objective-C gcc extensions in 1992, a half-decade before Apple bought them.
- fiddlerwoaroof 5y agoYeah, it’s a Steve Jobs thing. As far as I can tell, this is a significant factor in the rise of LLVM. https://news.ycombinator.com/item?id=9158017 https://news.ycombinator.com/item?id=9158017
- rodgerd 5y agoIt didn't help that rms was using it as a "hah hah that time I put one over on Steve Jobs" a decade later when I saw him speak. No idea if he still does.
- emn13 5y agoI sure hope apple has a better reason for shipping unnecessarily impractical software than some pet peeve by a now-deceased CEO. That would be kind of insane.
- jaytaylor 5y ago> jordigh on March 6, 2015 > They're basically achieving their dream now with Swift, though. I don't expect them to ever release that source. I don't think there is any precedent for Apple releasing source code after the fact. I wonder, to what degree is this still the case today? Has Apple's position on Open Source changed in the past half+ decade?
- fiddlerwoaroof 5y agoI don’t think it’s changed about GPL: GPL3 made things even less friendly to what they want, so they’ve started doing things like switching to zsh instead of bash. LLVM/Swift are open-sourced, but not GPL
- filmgirlcw 5y agoAnd here we should note that LLVM (by its creator who already worked on it at Apple at this point) was offered to GNU and the FSF in 2005 but were ignored/chided [1] until a decade later when GCC/GNU/FSF realized what they had been offered ten years earlier and then had to grapple with what they had rejected, once LLVM had taken hold [2, 3], including proposals to try to refuse LLVM patches to emacs, out of some sense of petty NIH thing [the whole thread 2 and 3 are part of]. [1]: https://gcc.gnu.org/legacy-ml/gcc/2005-11/msg00888.html https://gcc.gnu.org/legacy-ml/gcc/2005-11/msg00888.html [2]: https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00783.html https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00... [3]: https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00640.html https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...
- emn13 5y agoReading those threads makes those decisions seem pretty reasonable to me; this doesn't look like a petty vendetta at all. And while chris sounded optimisitic about including LLVM, he didn't offer to; he offered the glue code to allow the gcc frontend to talk to the separate LLVM backend - and doing so implied a raising a number of fundamental requirements, such as the C vs. C++ bootstrapping issue. Accepting major changes like that isn't trivial; and a certain amount of NIH is healthy here. I mean, that's kind of apples motto too right? This was a technical patch set with unclear upside (if any), and potentially relevant cost - why would they accept that?
- not2b 5y agoNo, GPL2 made them do that, and even so they were ok with it and used to pay people to work on GCC for the Mac in the old days. They rejected GPL3 specifically.
- jhgb 5y ago> they were forced to open source their objective-C compiler that was built on gcc A better phrasing: They were unable to close-source an existing GPL'd compiler.
- kube-system 5y agoI think the above phrasing is fair, and technically correct. You can closed-source a fork of GPL software. It's extremely common for companies do this while software is in development. It's the moment that someone distributes the software that the license requires source distribution. Some people/companies never distribute their forks. This is why newer revisions like AGPL were written.