Safari vs. KHTML 553
Johnny Mnemonic writes "CNET has a story that describes the divergence between the code base of Safari and KHTML. Although there were high hopes that Apple would contribute significantly to the OSS project, that optimism has all but disappeared. Is an unrealized danger of OSS that others may take your project in a direction you didn't intend? Can OSS code and goals harmonize with the goals and needs of corporation designed code? Is it that Apple mismanaged the relationship, or that the KHTML guys expected too much? Interesting warning for other OSS-corporate marriages." We've previously reported on the frustration in the OSS community on this issue.
Re:Its only the bad things we head about? (Score:5, Informative)
This sounds normal (Score:4, Informative)
Re:Its only the bad things we head about? (Score:5, Informative)
Taken from here [extremetech.com].
Here's the source for the WebCore from Safari 2.0 (Score:5, Informative)
And here's everything from 10.4 [apple.com], posted on the same day 10.4 was released. They even posted full binary PowerPC and x86 installers for Darwin [apple.com] corresponding to Tiger that same day.
Re:Its only the bad things we head about? (Score:2, Informative)
Nothing wrong with this... (Score:3, Informative)
It's nice when everyone cooperates with each other, and keeps everything syncronized, but all that is frosting on the cake.
Re:Its only the bad things we head about? (Score:5, Informative)
True, but the X.org changes are all in some form of vcs unlike the apple changes that they give us.
The only 'hoops' we have asked for is that they give us some form of vcs (version control) logs rather than just a single 60MB dump
How on earth are we supposed to do anything with comments like "this fixes 2374924" without being able to view what 2374924 is? Some of the kde developers have offered to sign NDA's just to see the commit messages, but apple refuses to reply to such requests.
Personally I think Apple would gain more from working with us a bit more. Particulary with our new dom changes.
Re:Another question (Score:3, Informative)
Read the article and know what is going on. (Score:5, Informative)
KHTML is under LGPL. Apple is doing what they are required. In addition, they have offered to move their code base to be multi-pltform. In the end, I think that the KHTML team will move towards this. It will allow full time developers on an import piece of work.
The article is doing a disservice.
Re:Here's a quote from Zack Rusin (Score:5, Informative)
Seems people like you are what Zak is pissed off about.
Re:Another question (Score:1, Informative)
If it was anyone with any technical sense, they'd know that it was Objective C. C++ IS an objective language. Objective C is the abortion of a language that Apple uses all over the place.
No, it is [apple.com] actually Objective C++ [apple.com], not Objective C.
It's sour grapes because the KDE/KHTML guys did a lot of work to let Apple have usable access to the code for KHTML
The first the KHTML developers knew of Apple's adoption of KHTML was after they'd already developed Safari, when they posted to the mailing list.
People, stop modding this clueless drivel up. He doesn't know what he is talking about.
Re:Its only the bad things we head about? (Score:5, Informative)
Do you think the code to all those Linux-based hardware devices can be instantly patch'ed into the kernel.org source?
Learning about Apple (Score:5, Informative)
One of the things you learn about Apple as you work with them is that secrecy is paramount. Among other things, that means that NOBODY gets access to their bug database. Developers have been clamoring for a more-open database for years. KDE's not getting special treatment, that's how ALL of Apple works. Love it or leave it.
It should be noted that... (Score:4, Informative)
Re:Um (Score:1, Informative)
Apple definitely are in the business of selling operating systems, it just so happens that you have to buy their hardware to get it. How many people buy a Mac because of MacOS?
You have it ass backwards -- the OS is a single $150 purchase that can only be sold as an upgrade to SOMEONE WHO IS ALREADY A CUSTOMER. This is clearly not a central buisness plan of an intelligent person.
The OS acts as a huge differentiator for thier computer systems. That's why there's so much space given over to it -- the OS is what thier customers will interact with when they use thier computers, and it's what needs to be shown off to convince people that switching to an Apple will not mean that they are going to be lost in terms of software.
Hell, all of thier executed strategies in the last decade have been around selling more Apple Computers. They might sell other things that are profitable -- OSes and music players -- but everything they do is focused on getting more people to buy into Steve's RDF and buy Apple Computers.
Look at their website, the number of pages dedicated to the OS vs the hardware is huge. Why do you think they generate such absurd amounts of hype over new OS features like desktop widgets?
Did you ever think that there's more to show off of when you're talking about software? What about a computer can't be described in two or three pages? Specs, Quicktime VR shots, images, different models... and what else CAN you say about hardware?
Re:Another question (Score:5, Informative)
You call Objective-C an 'abortion of a language', and then mention C++ as an 'objective language', and you are moded 'Insightful' ?!?! Wow. Words fail me. I guess we all get to have an opinion, but which language has a cleaner, more object-oriented syntax, Objective-C or C++ ? Both are useful, practical, powerful languages, but I'm going to have to humbly disagree with you- it's C++ that's the messier, less OO-centric language. What did Objective-C ever do to you?!? It's a fine, clean, well-designed, practical OO language.
I guess at least the remainder of your post is actually *somewhat* insightful, although it leaves me with questions. Did the KHTML guys really do 'a lot of work' to let Apple have access to their code? What, how and why? It would seem Apple couldn't need any more access to their code than any other developer. What special effort did they ask for ?
Is doing a diff of Apple's release vs. what they started with to determine new code that difficult? From what I've seen actual KHTML developers aren't complaining about this near as much as you are... sure, it would be nice if Apple could have it's engineers spend more time releasing modular change packages to KHTML, but where do you draw the line? Remember, it's not like those guys at Apple have tons of free time- they're overworked and understaffed for the amount of things they have on their plate ( I mean, have you ever WORKED for Steve Jobs?!? ), and it's not their responsibility to do more than they've done.
Seriously, I just see this as some KHTML developers wanting some respect, and not neccessarily from Apple. They want people ( like, KDE users and other developers ) to understand that *they*, the KHTML developers, are having to do some real work, that it's not all just Apple doing everything for them. And they're right.
hah, that's funny. Sane moderation strikes back. In the time it took me to write this, you've gone from 'insightful' to 'flamebait'. Let me check again. Yep. Still funny.
Re:Its only the bad things we head about? (Score:5, Informative)
Re:Apple should start... (Score:3, Informative)
Re:Its only the bad things we head about? (Score:4, Informative)
It sounds like Apple at least has been communicating with the KHTML guys to see how the situation can be improved. I think Apple deserves a lot of credit for being based on open source and working to see how they can increase cooperation. While they may not be as open as everyone likes they are supporting open source, which is much more than I can say for most big software companies.
I wonder how much of this article represents the view of one KHTML developer instead of the view of the larger KHTML team.
Re:Safari on Windows? (Score:3, Informative)
I wonder if that means they are looking to port Safari to Windows.
An engineer saying that they would be _open_ to making a component's development tree multiplatform is a huge stretch from a product manager having made a product management decision to take an application and port it to another operating system. I really don't see any correspondance between the two.
Apple's WebCore ported to gtk (Score:5, Informative)
So... if Apple's code is so hard to work with, how did these people get it working? And using gtk, no less! Sorry folks--I'm no Apple fan, but Apple definitely *is* releasing code, and it *isn't* unusable.
Re:Apple = Closed (Score:5, Informative)
I can't imagine who modded this insightful. We really need the whole -1 factually incorrect mod.
iPod limited to apple services and formats, functionally a lockin product designed to trap users into the Apple Music Store.
iPods play MP3, AAC, WAV, MP3 VBR, Audible, and AIFF formats in addition to DRM'ed AAC files. Most users never use the iTunes music store. Also, why would Apple want to trap people using a store that they don't make any money on? You have it backwards. The store is a service they operate to make ipods more attractive.
Look and Feel. Apple has always imposed the most limits on the user's ability to customize his computer look and feel of any OS. Conformity is the Mantra at Apple. Individuality be darned.
Conformity eh, you mean like conforming to standards? Try editing the preferences of a program in Windows. What menu are they in? Answer, it depends on the program, they all put it somewhere different. Apple programs (and about 95% of third party programs for OS X) all have their preferences in the program menu and it is called preferences. All of the programs can make PDFs, from the same menu, in the same place. Can you see why that might be desirable? You don't have to hunt for things or remember different keyboard shortcuts, menu locations, menu names, etc. for different programs.
As far as look-and-feel goes, it is easy enough to change with third-party tools if you really want to, but you're right Apple discourages it. They spent a lot of time making things easy to use and don't want their systems getting a reputation for being hard to use because end users set the colors to really stupid things and put crappy bitmaps all over everything. They don't actively try to stop you, but they don't make it easy either.
Open Source. Apple plays lip services to opensource but does not give anything of signifigance back to the community. Darwin in open. Aqua is not. KHTML is open, Safari is not. On and on.
Everything Apple takes that is open source, they give back to. They publish their improvements and changes to WebCore which is what they have done with the Konquerer code. They take a different approach to things and provide a web service that all applications can use rather than just making one browser. You can write a basic browser using WebCore in about 5 minutes because all you need to add is the UI. Since the UI runs on a different window manager and rendering environment than Konquerer, the UI work is useless to them anyway. How about zeroconf? Apple wrote it and even provided a port for windows users. It is open and the protocol has been incorporated into printers, modems, routers, Tivo, etc. How about the new LaunchD daemon? It is a real improvement to a core UNIX service and not so different from the advanced schedulers used in some very expensive proprietary Server OSes. Linux can take the code and use it, or implement their own version using it as a reference. That does not include the patches they have submitted to Apache, MySQL, and dozens of other open source projects. It sounds like they are giving back to me.
Apple's image is ALL marketing spin.
Yeah, because contributing to open source is such a huge marketing fiat. Get real most people neither know or care what Open Source is and Apple sure as hell is not getting many sales by tricking the Open Source community into thinking they are helping the movement. Apple uses open source code because it works and they give back because it is in their own best interests. That is how open source works. Your view is severely myopic. Try reading some mainstream news for a change and seeing what the really real world thinks.
Re:Apple = Closed (Score:5, Informative)
Actually, Mac OS X is extremely customizable down to a very low level. Apple doesn't give you a nice GUI for making these changes, because they consider the look and feel a brand, but neither have they made any deliberate effort to prevent people from providing the missing components. In fact, if they didn't hold their developers responsible for maintaining that look and feel it would be harder to go in and modify the GUI.
The company that is currently doing the most to take advantage of and develop the various hooks Apple has provided is Unsanity, and Shapeshifter is the premier tool of this type:
http://www.unsanity.com/haxies/shapeshifter [unsanity.com]
But there's also an open source project:
http://themechanger.sourceforge.net/ [sourceforge.net]
And there have been other applications going all the way back to Kaleidoscope on Mac OS 8. These apps don't just change the window borders, they change every detail of every control in every application... and Kaleidoscope did it first.
Re:Apple should start... (Score:3, Informative)
Re:Apple's WebCore ported to gtk (Score:1, Informative)
Re:Its only the bad things we head about? (Score:5, Informative)
The KDE project's CVS (and now Subversion) source control tree is totally open and accessible to anyone (including Apple), has always been that way and will always be that way. Also, the general convention (as I understand it) on large open-source projects like KDE (and especially so on core library components) is that code changes should be made in small, distinct, atomic blocks - with a meaningful commit comment to help comprehend the change (and so the changes can be easily rearranged and merged into, eg. a different branch).
This kind of system makes it relatively easy for the Safari/Webcore team to cherry-pick KHTML changes that they like. Though I have no idea how much they've done this, or even if they've done it at all - for all I know they've taken nothing from KTHML since starting Webcore.
But even so, the existing CVS history helps to understand historical design decisions, and indeed can be helpful in all sorts of subtle ways.
Now, conversely, Apple with Webcore. The KHTML team have no access to the Webcore source control system (it's not being run as a truly open open-source project, even if it is under the LGPL). The KHTML team have (AFAIU) only limited access to the Webcore bugtracking system, with some bugs not visible at all. From the story: "[KHTML] suddenly found themselves dealing with bug reports Apple deemed too sensitive to share, new requirements for auditing code before releasing it, and demands that developers sign nondisclosure agreements before looking at some Apple code."
Whatever Apple uses for a source control system is utterly and totally irrelevant. What is relevant is that their source control system is not publically accessible. You can't see changes as they're made, you can't track the development trunk. All you can do is take the occasional slabs of code that they release - and the whole point is that that makes it difficult to port interesting code changes into the KHTML codebase.
Added to which, the Safari/Webcore developers have entirely different (ie. commercial) priorities to the KHTML project. The KHTML team are prepared to take more time and do it right. The Webcore team are not - so they're more likely to use kludgy, lower-quality hacks that are simply unacceptable to the KHTML team.
And the Apple developers have done another thing which makes things even more difficult for the KHTML devs to use their changes - they're using significant closed-source functionality from Mac OSX system libraries... thus building in a dependency to a closed library. Which makes it even harder to work out what's happening when Webcore makes a call out to an external library to accomplish some vital task.
Wow, you really haven't read any of the background on this at all, have you? The KDE/KHTML team did ask (many, many times), and the Safari/Webcore team weren't willing to (or weren't allowed to) accomodate them.
Weren't. :-)
Look, what Apple is doing with Webcore is (AFAIU again) completely legal. It's just that they're following the strict letter of the law and not at all the spirit of the law. They're not running an opensource project with Webcore, they're building a closed-source project (Safari) and making occasional monolithic code releases of the one major open-source component of that app (Webcore).
Re:Its only the bad things we head about? (Score:3, Informative)
What bothers the KHTML people is the perception that Apple's supporting them by contributing to KHTML, not the fact that Apple's not doing so.
Re:Its only the bad things we head about? (Score:2, Informative)
Software doesn't write itself, and complaining doesn't make it write itself faster!
Re:Um (Score:3, Informative)
Re:Its only the bad things we head about? (Score:3, Informative)
Re:Its only the bad things we head about? (Score:2, Informative)
Is a 2003 posting to a mailing list evidence?
Of course it is - that's when the KHTML developers first found out about Safari. The fact is that Apple copied KHTML from the KDE project and developed it into their own browser, not only without anybody's help, but without anybody's knowledge even! The email is clear evidence of this. Do you disagree? And since then, Apple have been maintaining their own codebase separate from the KDE project. Is anybody disputing this?
So going around telling people that the KDE developers have been working hard to provide Apple with help is simply not true. If you disagree, please explain exactly why, instead of vague handwaving.
Re:Its only the bad things we head about? (Score:1, Informative)
You're talking out both sides of your mouth now. Forks are absolutely needed in OSS. Never forget this.
For one thing, a 'hostile' fork is generally when an OSS project is doing a poor job and not allowing contributions in a meaningful way (see: XFree86 vs X.org). A 'hostile' fork is when someone believes that one OSS project *needs* to be replaced with another one.
That's not what Apple has done. Rather, Apple has done what I would call a 'closed' fork. That is, they forked the code and went their own way with it. As a result, their changes become more meaningless every day as the two projects go off in different directions. This is what the grandparent poster was referring to when comparing Safari/KHTML to XFree86/X.org
Trying to compare X.org and their *purely* OSS project to Safari, a single component of a commercial / closed source project (OSX) is just.. silly. Obviously Apple's code isn't going to mean a lot to you.
The problem isn't with Apple or the KHTML devs, it's with the public. Apple is complying with the license, the KHTML devs don't give two flying shits about the Apple changes. Since the fork the KHTML team cleaned up a bunch of the code base, can you really expect Apple to attempt to keep their code as synched as possible?
No, the problem is that people (including Apple's marketing) are going around blowing the "Yay, Apple loves Open Source!" horn, which is both true and false. Apple wants to use OSS code, but they want to have the freedom to go their own way with the product. That's why it's called a FORK. If you don't like it, don't write code under an OSS license. Or use the GPL, that's why it exists.
What really pisses me off about your post, however, is your lovely little piece of "o look at me i'm going to go against the grain on slashdot, i'm so much BETTER than you fanboys." The only thing that's worse than that is starting a post with "I know this will get moderated down..."
Read the License (Score:3, Informative)
You are mistaken. The provision for making source available applies only to people to whom you have distributed binaries. It says so right here: