Jump to content

Against Apple


5 posts in this topic

Recommended Posts

I'm not trying to start a flame war, but Apple's actions with respect to community sources and

fairplay irritates me.

 

Apple makes some tremendous products. MacOSX is a fine operating system. The iPod Touch and iPhone are wonderful little devices. In the past (think 68k), they made computers that were genuinely well engineered and creatively done. Today, they make badged PCs, and their mojo goes into iPods. I understand why. I don't necessarily like it, but I get it. The power of the iPhone and the success of the App Store are largely due to the fact that they have a powerful OS core (not some cheesy phone OS), and compiler for ARM. They are called BSD and gcc, not Mac Classic and MPW.

 

The three things that really make the iPhone a good product are the CPU (ARM is a great platform), the portability of the Darwin/BSD codebase, and the UI APIs. Apple is the best at putting a lot of great ingredients together in just the right way to make a hit. But of this trifecta, Apple is really only responsible for the last piece. The rest is radios and batteries - generic {censored} that every device has, and that any garden-variety engineering grad can fit together. The touchscreen is some nice flare, and a nice step forward. Cheers to Apple for making billions on a slightly improved touchscreen design and accompanying UI APIs. Sincerely. I'm glad to hear someone is still making money these days. And no wonder. Apple gear is pretty expensive.

 

My only Leopard machine, though, is an Acer. My iPod was a gift to me from my company, and is now jailbroken and I use a lot of free programs, but I also have purchased quite a few from the iPod App Store. I've owned a few second hand 68k and PPC Macs at different times over the years. I guess Apple really hasn't made much money from me directly.

 

I became fascinated with Apple some years ago. Prior to my enlightenment, Macs had always been computers for art dweebs. You know, computers that people painted with - not computers that people hacked on. It didn't even have a command line for god's sake. I've always been squarely a Unix geek, nearly since the time I cut my teeth on computers. I removed DOS from my first 286 PC to install Minix. Linux didn't exist yet. Yeah, I'm kinda old and I started young. Whatever.

 

Some years ago when PPC was all the rage and people were dumping 68k in droves, I assembled a loaded Quadra (its stored away, but I still have it!) for peanuts. I needed a system to learn 68k assembler on, and I knew there were people using NetBSD and Linux on 68k Macs. I never had any

real intention to use Mac OS.

 

So I installed NetBSD. And it was great. A big ole romping stomping 68040 w/ Unix and bunch of SCSI drives. Man I was in heaven. I gave BasiliskII a whirl on NetBSD/68k - not really thinking it

would work that well. I was quite wrong. It worked great. Some things were slower, obviously, but it worked rather well. My first real work with a GUI system was System 7. Before that, and I was a shell and VT100 terminal kind of guy. When I did use X, it was for comparing the text of multiple xterms, or using a browser when Lynx didn't suffice. I had downloaded System 7 dot something free from Apple's FTP, and then bought a copy of MacOS 8. MacOS under BasiliskII was my GUI of choice for NetBSD on the Mac. A strange precursor to MacOSX, if you will. But that experience, along with learning 68k asm, gave me a strong appreciation for the well thought-out design of the Mac. Such virtualization performance just wasn't possible on the x86 at similar clock rates - made possible here by virtue of a great CPU architecture, and clean OS design.

 

Sometime in 98 or 99, I heard the rumor that version 10 would be a Unix core with the Mac GUI ported to it. A lot of stuff was happening around then.. Apple was contributing code to MkLinux, rumors were swirling around that the Mac GUI could be ported to Linux, or all sorts of things. It was very cool stuff.. but one thing was certain: a *REAL*, complete operating system was getting put together. A system designed for programmers and people. It looked big. I thought: "Finally, X is dead." Apple will give UNIX a facelift, and have their own proprietary "window manager" and tools. They get enough industrial strength to break into new markets (servers? ipods?) and UNIX gets a bit of a facelift. That would be fair.

 

Didn't quite happen that way. Here we are a decade later. X11 and its diverse sprawling ecosystem of

toolkits and APIs have only grown, not dwindled. The state of the UNIX desktop has improved despite this condition, not because of it.

 

Really, Apple took some code acquired through its purchase of NeXT, took a chunk of FreeBSD, forked a copy of gcc, glued it all together to produce MacOSX - and then slapped the Mac face on it. And hey, they did a great job.. much more of a job than Al Gore did in creating the Internet, but to say Apple made MacOSX isnt the whole story. But whatever - they deserve the money they make. However, please play fair.

 

Open source technologies have made Apple's products better, so shouldn't they in turn help make OSS better? Be right about releasing patches to gcc!

 

They provide their own "Darwin" Open Source OS - but it languishes as little more than a curiousity. It could just as easily have been the "MacOSX Lite" version. Why not give us an Open Source MacOSX with just enough frameworks and a lite version of Finder to run small Mac shareware/freeware programs. Just open source a few key frameworks and make (timely!) source contributions back to the open source community that the FreeBSD and Linux might be able to use.

 

If that is too much - OK, fine. You _are_ Apple. You define HFS. Why not contribute a full implementation of HFS to FreeBSD? Surely that couldn't be hard, since you basically have one already.

 

Keep Time Machine, Spotlite, Safari and all the user-oriented stuff and sell your products with them. God bless. But give back to the community you borrowed from. Nothing in the OSS releases of Darwin has ever been of any huge importance to the BSD or GNU communities they take from, yet BSD is the underpinning of their whole OS. Gcc is the core of Xcode.

 

A sleek Apple GUI ported to UNIX didn't kill X11 - Instead, X11 was just added on as a layered option. If Apple had played fairly - no one, not even Linux programmers, would still be writing

code for X11 these days.

 

No one buys a Mac to have Quartz or HFS+. Providing OSS implementations to the community wont

cost Apple a single customer. It would win them some though, and make life easier for some existing users. So what gives?

 

But Apple, isn't interested in the community. Apple is interested in bending over the fanboys who buy stuff on the first release and are then charged for updates that everyone else gets for free. Apple has taken from a tradition of generosity and given little, if anything, back. And worse, been unfair even to their customers (January software update my @$!).

 

So next time you see some lame caveat to make sure you run out and "support Apple" by buying a boxed copy of Leopard to put on the shelf after you install OSx86, remember - Apple has received man-years of development in terms of code, free of charge. Much of this code was produced by students and professors at publicly funded universities. Much of that codebase was in development and free circulation for longer than MacOSX has existed.

 

When Apple produces a Safari or iTunes for FreeBSD (what a concept, make your programs work on the OS you grabbed code from) or Linux, then there will be cause to say that they are interested in helping and furthering the community they have so willingly taken from. When they contribute new features and make OSS better, then there will be something to discuss about how Apple deserves our support.

 

Sun deserves our support! I wish they made a "Sun Mini" that I could afford. That damn company used to charge for everything but the "ls" command! Now it purchases programs like Staroffice (OpenOffice!) and Virtualbox and gives them away under an OSS license. How times do change.

Link to comment
Share on other sites

I kinda see your point, but remember: FreeBSD (which IIRC they never expressed took actual code from) is licensed under the BSD license, which allows companies to take code and do with as they will. There is no requirement to give it back or the like. Linux's GPL license doesn't allow that - if you use GPL code you are required to give the code changes back to the community. Apparently keeping their code was important so they chose an approriate license. You can't really complain too much there as that's within the spirit of the BSD license.

 

FWIW, when the did take the GPL'd HTML rendering engine to make Webkit for Safari, they have actually been rather good about giving back that code to the communirty, and as a result there are now several Webkit based browsers available for Linux.

 

In regards to the GUI, Linux is a victim of just being entrenched in X11. X11 is a good remote usage system. It's a terrible local usage system. However, virtually all the current Linux applications are made for X11. Pretty much all the graphics drivers are made for X11. Nearly all the programmers understand how to develop for X11. And for better or for worse, open source is controlled by the developers and the users. There is no authorative body like in Apple's case of ditching OS9 where they can just say "You know what, we're scraping the old system so adapt and get used to it.". X11 works. It's clunky, slow, and outdated, but it does WORK. That simple truth IMHO will keep it going just because everybody sees replacing somethign so critical that's already functional as a waste of time. Still, if you're curious the DirectFB project is basically hoping to do something similar to this. They're up to around 8 years in age now though and nobody has really picked it up for much other than demos.

 

The only thing that I see possibily changing this is Google's ChromeOS. They're basing it on a Linux kernel, but I get the impression that that's about all that they're taking from Linux (much like Apple used minor parts of FreeBSD). The rest of the system (though they'll be providing little more than a browser, but with open source all you really need is a good framework OS - the community can provide the applications) will all be from scratch, but they have already stated that the system will be free, and it will be open source. Google also has the industry pull get get the major hardware makers to provide drivers for whatever they put out. I truly see Google possibly creating a base system that rivals OS X in capability, and it will be avaialble for installation anywhere with the maker's consent. No jumping through hoops to make it work on hardware that they've actively tried to make the system not run on.

Link to comment
Share on other sites

Oh, yes, I am fully aware of the distinction between the BSD and GPL license. I believe they did use

code actually derived from FreeBSD, but regardless of whether I am mistaken on that point however, they certainly do use BSD licensed code, and they acknowledge that fact (as the license requires them to).

 

I do appreciate the fact that they are NOT required to give back their modified BSD code, and I do not expect them to do that, as such. However, as a good neighbor, as an ethical community member, they would do well to give something to the OSS community. If giving the Cocoa API is too much, as I said, how about an HFS+ implementation?

 

One good turn, deserves another though, and all that.

 

They have NOT been good about giving out code to their modified GCC and other tools, which the GPL requires them too. I can't speak to their Webkit releases as I am not familiar with that. It does seem that they have violated the GPL, or at least come "dangerously" close to doing so. While they are not violating the BSD license, I submit that their attitude towards OSS and the community just basically sucks.

 

I also do appreciate the historical position of X11, and the difficulty in getting code switched over.

But users will use whatever the hell their distro throws up for them and developers rarely code directly for X11. Developers usually code for GTK, QT, or use SDL or whatever. Raw Xlib programming is becoming a thing of the past, unless you're writing glue and widgets.

 

It is true that there have been a lot of attempts at X replacements over the years. Some time ago, I was a big ran of GGI which had a cube effect long before compiz/beryl and the like. They didn't take off, and that has nothing to do with Apple, Microsoft or anyone else... truly, it is difficult to get something like this rolling. It takes some might, and some marketing... i.e. you have to generate buzz. OSS can't do that at will, but Apple makes a living on it.. and in this case, and especially back in '99 when OSX came out, they could have generated all the buzz needed by just issuing a press release.

 

If they had released OpenSource Darwin with a replacement graphics backend for X that is roughly Mac compatible for primitive operations, a lot of OSS people probably would have went along with the buzz, building compatible versions for Linux, and *BSD, etc, etc. Certainly more people would have looked at Darwin than actually did - because Opensource Darwin is just a Mach-based UNIX, with fairly limited hardware support and the same old X11 {censored} - so why not just use Linux and *BSD - with better hardware support, and the same old X11 {censored}? It just makes sense. Why take ANY steps backwards if you're not getting something out of it? They could have had loads more people switching from Linux and BSD to their opensource OS, and then likely on to MacOSX when it came time to buy a new computer.

 

Apple could have been the company that modernized Unix - and I bet if they tied themselves more closely to Unix and their BSD roots openly, and in the public mindset - they'd sell a whole lot more Mac servers than they do. Of course, if you and I both buy one this month, they'll post record server sales this quarter.

 

I'm just saying that their backwards attitude towards Open Source sucks for the community, it sucks for Mac owners, and it probably has cost Apple some sales.

Link to comment
Share on other sites

This sounds like the standard "license the Mac OS for all computers" with a tiny little change...

 

No, not at all - that would seriously hamper Apple's ability to keep the profit margins they enjoy on their computer hardware. I don't want Apple to shoot themselves in the foot, and I don't want to see them lose money. This would help no one.

 

What I want is for Apple to:

 

a) Act correctly in releasing their modifications to GPLed code. This is a legal requirement of the GPL license. If Apple seriously wants individuals to abide by their licensing requirements, they should set an example in this regard.

 

:blink: Be a fair community member and give back to the communal technology base that enabled the creation of their product. Yes it is true that the BSD license doesn't require this - but that is precisely why it is useful license. Companies like IBM, Sun and HP recognize the utility in this - why doesn't Apple?

 

Apple doesn't sell computers to that many UNIX geeks. Apple sells packaged computers to authors, artists, students, moms and grandmas who only know UNIX as castrated male singers from Roman times. These people don't care about graphics APIs, or filesystem specifications - these are the things Apple could Open Source. Moms and grandmas care about the Finder, and Safari and Time Machine... Apple should keep these private, package them with their rebadged Tiawanese computers, and make money.

 

But by seeding core technologies to the OSS world, Apple would help ensure that OSS developers are coding in an Apple-friendly way - that only means more software for Mac. There is the old saying that "you have to spend money to make money" - this is, of course, quite true. That is to say - one needs to INVEST. Open sourcing code is somewhat like investing. By giving away the source, you allow others to add features and you gain interest.

Link to comment
Share on other sites

 Share

×
×
  • Create New...