4 ms·
This keeps being brought up, the whole apple not contributing back to FreeBSD, but I would urge you to please look through FreeBSD's CVS history to find all of
by X-Istence 16y ago
This keeps being brought up, the whole apple not contributing back to FreeBSD, but I would urge you to please look through FreeBSD's CVS history to find all of the places that Apple HAS indeed contributed back (I've made several comments with links to such sources on HN before).
Apple also has an entire website dedicated to the various pieces of source code for their OS, and other tools, and are actively developing clang/llvm (they hired the creator) which is under a BSD license ... WebKit is also a thriving open source implementation of a rendering engine for a browser and is actively used by various different projects.
Your comment brings absolutely nothing to this discussion other than unsubstantiated claims and misinformation.
- saurik 16y agoAs somebody who actually has to use Apple's "open source" website, you have to realize that the code for the projects listed there is often: a) out of date or unrealized (for which they are entitled to do with BSD code, but when it comes to GPL I file complaints) b) redacted and uncompilable (they purposely remove source code for specific targets that is still listed in the build environment, or hold back critical header files for dependent libraries) c) limited in scope (they release WebCore, because it is LGPL, but they actually /don't/ release a lot of WebKit) Also, it is quite clear to everyone involved that the reason that they are actively developing Clang/LLVM is so that they can avoid gcc 4.3+, when it went GPLv3. It was hard enough for them before: gcc was the one place they have been unable to redact and hoard their ARM contributions, but with GPLv3 the situation becomes untenable for them. So, since then, Apple's Xcode compiler has rapidly slipped out of date, and now they are forced to take over development of a BSD project just to stay competitive. Frankly, this is actually a /win/ for the GPL: despite Apple's claims, Clang/LLVM is still very very far behind GCC in terms of correctness and compliance (certainly with recent specifications, like C++0x), which has made Apple's less-free choices result in an increasingly "dispreferred" deployment target for many projects.
- vasi 16y agoI mostly agree with you, but you're incorrect about WebCore/WebKit. For the first couple of years of WebKit development, Apple did indeed only release WebCore, but since 2005 all of WebKit has been released. Otherwise, how could Gnome (Epiphany), KDE (rekonq), Chromium, etc be using it?
- saurik 16y agoApple keeps an internal fork of WebKit that has numerous abilities not in their public trees, which happens to be why Android and WebOS both have totally incompatible mechanisms for adding multi-touch support to JavaScript despite iOS having been out with that functionality for years prior.
- foljs 16y ago1) (a) and (b) Applies mostly to the Darwin source. Apple doesn't provide you with the latest sources before it has it released commercially. Big f'n surprise. Not many people are interested in Darwin anyways. (c) Actually, you can get the WebKit code and build it, and you'll have a WebKit browser to run. I've done it. Don't know what you are talking about. Did you expect the whole code for Safari? They sure give enough Webkit source for Google, Nokia, the GTK people et al to build a full featured browser upon... 2) "Also, it is quite clear to everyone involved that the reason that they are actively developing Clang/LLVM is so that they can avoid gcc 4.3+, when it went GPLv3." Actually, it is not at all "clear". They started using it way back in 2005. Actually they wanted a better, faster, more flexible and dynamic compiler infrastructure, and LLVM provided that. And they use it for other stuff too, from graphics code to MacRuby. 3) "since then, Apple's Xcode compiler has rapidly slipped out of date, and now they are forced to take over development of a BSD project just to stay competitive". Actually Apple had made huge improvements to XCode's compiler in XCode 3, even adding several new features to the core Objective-C language, and also made a HUGE improvement to the overall IDE and compiler (new static analyzer, new debugger, AST-based syntax assistance and code completion etc) with XCode 4 (currently in public beta 5). 4) despite Apple's claims, Clang/LLVM is still very very far behind GCC in terms of correctness and compliance Bzzz, wrong. 5) (certainly with recent specifications, like C++0x) Which are not even standard yet, and noone cares about while actually SHIPPING code. Whatever man...
- saurik 16y ago1) a/b: The original poster explicitly stated "on Apple's open source website", to which I also explicitly limited my statements. 1) c: Unfortunately, this is not generally true: Apple keeps an internal fork of WebKit that has numerous abilities not in their public trees, which happens to be why Android and WebOS both have totally incompatible mechanisms for adding multi-touch support to JavaScript despite iOS having been out with that functionality for years prior. To be quite explicit, I dare you to find and recompile WebKit for iOS. Mobile is where all the action is these days, and Apple knows that: deal with it. 2) All but one of the previous gcc contributors from Apple are no longer allowed to read the gcc-patches mailing list, and they are also not allowed to work with any code from gcc 4.3+: Apple is now permanently locked at gcc 4.2 and cannot even backport changes from gcc 4.2.2 (as this was re-marked as GPLv3 when it was released). This is a serious /serious/ problem for Apple, as they /need/ a compiler. 3) I don't understand in the slightest why improvements to the debugger, an external analyzer, or better syntax completion in the IDE, have anything at all to do with the core compiler. 4) I'm sorry, but this has been my impression as a toolchain integrator and distribution vendor. LLVM, which only even supports two platforms (although having seriously broken semi-support for ARM) is often stated to be "catching up" in correctness to gcc, but is not there yet. The opinion that LLVM is somehow epic is something you only hear from incredibly pro-Apple developers. I mean, even Apple's port of gcc explicitly chooses incorrect results occasionally for performance (an interesting specific case being ___divdc3). 5) It is in "final final final draft". Meanwhile, even for C++, Clang doesn't totally work yet. Until just a couple months ago, Clang's website claimed the following: > However, the implementation of Clang C++ is still somewhat immature, with remaining bugs that may cause compiler crashes, erroneous errors and warnings, or miscompiled code. AFAIK, this situation has not changed since then, and my attempts to use it recently have, in fact, been met with the compiler crashing out instead of generating any code at all.
- rmc 16y agoso that they can avoid gcc 4.3+, when it went GPLv3. It was hard enough for them before: gcc was the one place they have been unable to redact and hoard their ARM contributions, but with GPLv3 the situation becomes untenable for them. How come GPLv3 (as opposed to GPLv2) is not in Apple's liking?
- saurik 16y agoI actually am not certain, but if you'd like to hear it from the horse's mouth you can read this post to the gcc mailing list from an Apple employee, and follow the remainder of the thread: http://gcc.gnu.org/ml/gcc/2008-02/msg00516.html http://gcc.gnu.org/ml/gcc/2008-02/msg00516.html For more details from other people who were discussing this issue, you can read a later thread that attempted to go into further detail, although I will not claim it will be elucidating: http://gcc.gnu.org/ml/gcc/2008-09/msg00416.html http://gcc.gnu.org/ml/gcc/2008-09/msg00416.html
- patrickaljord 16y agoWebKit doesn't count because they were forced to contribute back as KHTML was LGPL. I know they have rewritten big parts of it under the BSD license, but given that Google (and others) commits constitutes more than 50% of the webkit contributions today, it wouldn't make sense for Apple to stop contributing their changes.
- rbanffy 16y ago> WebKit doesn't count because they were forced to contribute back as KHTML was LGPL Curiously, I don't remember them being "forced" to use KHTML as their starting point...
- patrickaljord 16y agoI never said they were forced to use khtml, I said because they chose khtml they were forced to contribute back because it's under the LGPL.
- rbanffy 16y agoSorry. I got the whole wrong. That's what I get for replying a post and having a conversation about it with someone in the same room ;-)
- X-Istence 16y agoWhile Google at the moment may be committing 50% of the contributions and patches, I would like to point out that Apple has its internal branch of WebKit that they are working on, and when the time comes for a public release there is a ramp up in the WebKit commits on Apple's behalf. This has been documented before. See here for a nice chart where you can see those jumps in commits: http://techcrunch.com/2010/02/06/google-apple-webkit/ http://techcrunch.com/2010/02/06/google-apple-webkit/