Mac OS X Intel Build Addresses Pirating
aardwolf64 writes "ThinkSecret has an article up detailing information about the newest Mac OS X 10.4.3 builds (which is currently said to fix almost 500 bugs with 10.4.2.) What is more interesting is the release of 10.4.2 (Intel) to developers. Universal binaries built with the new version (and apparently all subsequent versions) will not work on systems running the older version of the OS."
That's a lot of bugs. And I haven't even noticed any of them. :(
I remember old PC games being sold (illegally) in the streets. The CD included a directory called "crack" which contained some patches.
I wonder how long before someone hacks into the OS/X code and does this...
Mac OS X 10.4.3 build 8F23 includes about 75 new bug fixes to the OS, fast bringing the total number of specific improvements the update will deliver to nearly 500.
Looks like 75 bugs and 500 improvements.Bradley Holt
The hackers will be making it sing like Sinatra.
Is that really so surprising? That a company will act to protect its products from people who are blatantly pirating it and enacting workarounds to bypass whatever security might have been present to ensure it only worked on developer workstations?
Oh no, your pirated pre-release software can't be upgraded! Teh horror!
I'm sure when Rhapsody (the Pre-OSX betas just after the NeXT takeover) was being developed, that some of the same types of incompatibilities were there.
;)
Think about it though, most apps from 10.3 don't work properly in 10.2, but that doesn't mean it's apple's way of keeping pirates away. Since all these X86 versions are beta quality anyway, they're probably working on a much faster development mode, and things break easier.
Then again, they could be doing it on purpose, in which case they have the right, since it's their OS.
Since this is still not a publicly released Operating System available to buy, I'm not all that surprised they're taking care of this sort of thing now. There's no reason for them to care about the old versions of the Operating System if it is not available to the general public. Once the Operating System is actually available to buy this sort of thing will stop, but they want their developers to be using the most recent version available to give them the newest target. I don't really see a problem with this.
cheese logs keep my wang warm at night.
In case you were wondering whether Apple wanted everyone to pirate OS X onto their Dell and HP systems (for mindshare!), now you have your answer.
I was reading some publicly available Apple documentation on the transition to intel style chips, and they included a note that as of June they hadn't finalized their application-binary-interface (ABI) specification for MacOS X on intel. So, maybe it just means they changed the spec and now there's an incompatibility. It would be something most developers would never see, totally taken care of by the compiler, and a make clean and a recompile necessarily fixes everything.
Start Running Better Polls
Will binaries built using the currently available builds of OSX and Xcode work on future versions of x86 OSX? I can understand newer builds not working on older versions of the operating system, but is the same true of the reverse?
everyday is another shooter.
Would somebody care to explain what aardwolf64 and Zonk think is too obvious to be worth stating in the summary? What exactly does this mean to people trying to pirate OSX, who exactly will be affected, and under what circumstances?
I'm generally "Interesting," "Insightful," and even "Funny" here. What the hell happens to me at parties?
Don't Panic! Just. Remain. Calm.
Everything will be OK. We're going to drop 3000 lb bags of sand from helicopters... wait, those aren't helicopters... those are hackers wearing propeller beanies.
-pyrrho
I flipped on this issue so fast that my head is still spinning. Aside from having the iPod and a huge cash reserve to keep them afloat I am honestly worried that piracy will crush the mac platform on intel.
And in all honesty I want my platform to continue living - I need Apple to stay proftiable in the computer business because I want to continue to buy their computers. Sadly this means that I now support any kind of gestapo like tactic that they use to keep the OS locked to their hardware.
Hopefully they can find a middle ground but the past few years have taught me that technology cannot build a wall that technology cannot also knock down - it will be a long uphill battle - I hope the FSB on the new powerbooks is worth it.
---- The real Slashdot is still here. You just have to browse at -1 to read the comments.
Well, the poster has one take on this, but perhaps the current release is incompatible because Apple has changed the compiler and some of the dynamic libraries? Perhaps this was not to specifically address pirating, but to fix bugs and to otherwise optimize the system. The OS X 86 project page has a slightly more informed discussion.
Then again, it might come in handy when Apple decides to change the arch again in the future. Who knows?
ok keeping developers on their toes by switching platform might be good once in a while....But to see yet another platform change from Apple in the near future would just be painful.
Offtopic? It would appear that that *IS* the topic.
This gives a clear indication that apple is (as expected) not going to let it's new intel OS run on non apple hardware. Does apple have the means to stop (legal use anyways) typical beige box users from using a virtual server to run OS X though?
Perhaps with proprietary hardware that the OS relies on in some way which would have to be emmulated in a typical intel pc?
I found one particular bug in Safari that has been improved with the release of 2.01 but still not completely squashed is certain Javascript buttons not working, at least for me. For example, if I attempt to print a map from Google maps the print button will many times do nothing. I have waited and waited, still nothing. Closing the page and re-opening usually fixes the problem, but sometimes I have to restart Safari. A similar problem I have found is links sometimes fail to change the mouse cursor to a hand icon indicating a link. Maybe they're both part of the same problem?
./Library/Widgets. New permissions are now XXXXXX" (or something similar). Which seemed to fix the problem for a few days until they disappeared again. I ran Disk Utility again and there was another permission problem which when fixed brought the widgets back. Once they were back, I deleted and re-installed them and haven't had the problem since.
I also had a weird problem with Dashboard where widgets I installed (not the default) would disappear. I ran Disk Utility, fixed the permissions and received a message, "We are using special permissions for the file or directory
There is also an update today to Java 1.3.1 release 2 and an Itunes phone driver for the ROKR phone from a few days ago.
Who among us in their right mind didn't expect this possibility? The whole idea of these utterly generic Intel PowerMacs were for them to be cheap development preview systems. ADC members who wanted to test and develop ahead of time could either build Universal Binaries on PPC (and cross their fingers), or actually buy one of these and test while the OS is being ported and finalized.
The point here being, these are not production Intel Macs! Why would you expect to have everything Just Work (which, of course, is the whole reason many folks buy Macs in the first place) - heck, you can only get one of these systems if you're an ADC member! Remember, Apple said that OS X would not work on a generic Intel PC, only on Apple's gear. So now it's starting to come true? Wah!
As for the breakage between 10.4.1 Intel and 10.4.2 Intel - Get used to it - this may well happen a few more times before live product ships next year. I don't think any legit developers are worried about it. Only the pirates. Right now is the "build, test, and learn" phase, anyhow.
-- Josh Turiel
"2. Do not eat iPod Shuffle."
The system changed so much between Developer Releases that Apps for DR1 would not run on DR2, etc.
Major updates underneath between releases.
HOWEVER - this was when they were fleshing out the base of the OS. New libraries, new coding practices, new releases of major components that were incompatible with prior versions.
You could still coax some NeXTSTEP and OPENSTEP apps to run, though. I imagine it's the same. Some Cocoa apps will run, some won't.
Is anything being done for straight ports of old X86 OPENSTEP code? It would be cool as rice to see a handful of the Unique apps (with source - no Lighthouse Suite, I know) running across the board (NS, OS, OSXPB, OSXPPC, OSX86).
I think it's more a matter of NeXT programming practice than anything. If the old version doesn't work, so be it - the old application doesn't need to go along for the ride anyway. Keeps people writing new software, keeps it fresh and in-tune with the theme of the system, & keeps the market alive.
They're kinda handy because all us PowerPC Mac owners aren't going to wake up in mid 2006 and find their processor has been replaced by the processor fairy with an Intel processor. Until 2008 or 2009 I expect that PowerPC will remain the dominant processor in the Mac user community.
Currently Apple requires NO serial number, registration, or any other verification to load OS X. People trade Jaguar, Panther & Tiger disk images on filesharing networks and they burn great. The same disks or legit copies can be used to load onto multiple machines on the same network. "Upgrades" bought from Apple require no previous version's SN to install, and cost the same as a brand new copy.
The big question is, does this new policy signal a change?I hope not, I appreciate Apple's laid back policy. Right now I'm trying to determine which flavor works best on my near-obsolete G3/333 "Lombard" Powerbook. It's convenient to be able to try out different options before I license a copy.
sure I agree. But if the developer of software xyz is going to the effort of making a universal binary then in 80% of cases they just need only VERY minor adjustments and a recompile to have a PPC version and a x86 version.
Yes I realise that maintaining two versions is a pain but you don't take the performance hit of universal binaries and really, the differences are tiny.
Certainly offtopic by the tone of the post.
Forced obsolescence of a DEVELOPER product that is under development? I mean, that'd much worse than, say, writing an operating system kernel and altering the ABI to break binary modules every so often I reckon*.
* probably the reason that the new x86 build of Mac OS X has the compatibility issues.
Most cracks are extremely simple, crackers are simply looking for a conditional and unconditional jump instruction, that's it! Then it's all about stepping into the code step by step and having break points.
if ( !condition ) { error_message(); }
http://www.unixwiz.net/techtips/x86-jumps.html
So, one easy way is as simple as by passing the checks by renaming JZ into JNZ, JE into JNE, JO into JNO, or similar when the serial number is checked.
This way any invalid serial is now actually valid...
You might have to add a NOP to make the instruction the same length.
Other serials are simply generated by having the serial key code compare being blindly copied into another program to create a keygen.
if ( input_key != calculated_key ) { error(); }
Another way is to run it in debug mode and then see the content of the register having calculated_key.
The only product scheme which are more difficult to crack is those which they *seems* to be cracked, but fail unexpectively after a period of time which is very far apart the actual "test".
Days or weeks is a good delay.
And for products which prevent "debug mode" utilities, well, there exist other products to go around this issue by simply masquerading the WinIce/SoftIce application, so it doesn't get detected and prevented from running in "debug mode".
That's all I can tell.
Some of course are encrypted, but even then the code must be "decrypted" before being run so...
it's still possible to analyze it, just a bit harder.
In the end, the best way for a product is to be good, useful, have nice manuals and have a proper support at the right price, then the majority of people will buy it, especially if it's bundled with good hardware, since it wouldn't make sense otherwise.
"Universal binaries built with the new version (and apparently all subsequent versions) will not work on systems running the older version of the OS." So you gotta do a fresh install? no biggie.
I remember *SEEING* them. And I never said the info I got wasn't from a friend who actually bought it. In any case, the programs i'm talking about were from 10 years ago, and in my country information laws (if any) aren't retroactive :)
or do you think those 20, 40, and 60 GB iPods out there are all full of iTunes bought at 99 cents each?
What performance hit? Universal binaries aren't bytecode like Java or .NET, they're simply application packages with both a PowerPC and an x86 version of the application inside. In fact, I believe that even now some applications are using them - for 32-bit PowerPC and 64-bit PowerPC.
You couldn't possibly be more mistaken about the details here. Applications written for version 2 of the Developer-only release are intentionally not backwards-compatible with version 1 of the Developer-only release.
Clarification:
A package in the NeXT/OS X world is just a directory and its subordinates, with metadata that describes the contents - an XML file in the latest incarnation, to keep with prevailing fashons in notation.
"Speaking the Truth in times of universal deceit is a revolutionary act." -- George Orwell
Apple needs to learn that it can't control and sell hardware, OS, and software at the same time, because it will be working against the market all the time, not with it.
I'm still trying to figure out what people mean by 'social skills' here.
Well I agree to your comment with one question in my mind...
just imagine if MS did such thing or even less and imagine the comments...
BTW strangely I'd be happy if they made a DRM based electronical OS X release (downloadable) after paying needless, stupid amounts to Fedex (or any courier).
OTOH if you want compatibility to 10.3.x you can't use them anyway (since the gcc is different.. incompatible libraries), so you have to produce different versions.
The plan for us is PowerPC compiled on 10.3.x (currently 10.3.7), Intel compiled on whatever is available in about 12 months time.. separate packages.
No point in universal binaries if you need compatibility like that.
I know that many many folks from the bowels if irc to slashdot to warez would gladly pay $200-300 for OSX if it could run on their beige boxen in which they have already sunk ~$3,000! Apples tower lineup is OK (although it desperartely lacks on the low end and the mac mini is a joke), and assuming the price stays the same upon the intel switch, but who wants to sink $2000 base into a new tower when you already have one...or a bakers dozen...
I doubt they're purposely breaking things, I bet the APIs were just being worked on and it caused enough changes that older compiled software crashes and burns. Remember, it's a rather early beta, it's not a commercial release-- they're allowed to change the interfaces around.
Comment of the year
I think you'd be discouraging them too if there was a chance all your profits would die because you could go out anywhere and get an illegal copy of their OS and run it on generic hardware.
Sure some people would actually buy legitament copies of OS X for the MacTels, but a lot more people would just pirate it to save money and not buy an Apple Machine.
If you have a choice between buying an Apple Machine at $2000, but you can build an even more powerful machine for that price or lower and stick a cracked copy of OS X on it, where will you spend your money?
Believe me, I'd love to have an Athlon 64 FX-57 PowerMac over some Pentium Mac any day, but Apple has to keep itself afloat. They can't live off the iPod sales forever.
That's an interesting counterpoint to what I was thinking actually. While I fully support the whole "It's their OS, they don't have a monopoly, it's still beta, they can do what they like" idea, I was under the impression that Intel piracy could actually be good for them (something I want, since I, like you, want to continue using Apple's products). For now I'll ignore the debate of whether they could maintain their quality of software over a wider range of hardware or not.
It's true that Apple could benefit from some piracy on the generic vanilla PC side, but this would do little for the long run. There are many people who would love to run OSX and could care less what the PC it's running on looked like or the build quality. If Apple lets the situation get out of control it will put it's hardware business (which is Apple's real business, despite what people keep trying to claim about the iTMS and OSX upgrades) in jeopardy.
Also, Apple has an image as a serious company to maintain for their shareholders. They may want a little piracy to get word-of-mouth, first-hit-free publicity in the Wintel world. But if they stand idley by and become complacent about the piracy/hacking of OSX86 their shareholders are going to wonder how much Apple is working to protect it's core hardware business and their stock investments. Apple may be making a mint off iPod sales, but Macintosh sales are still the company's bread and butter. Apple has to show it's commited to a business plan in it's switch to Intel and not being blaise with the company I.P.
I remember old PC games being sold (illegally) in the streets. The CD included a directory called "crack" which contained some patches. I wonder how long before someone hacks into the OS/X code and does this...
Maybe never. The consumer hardware that ultimately ships may only partly resemble PC compatible hardware. Using Intel CPUs and PCI chipsets does not mean you have a PC compatible motherboard. The current hack only works because Apple is using an off-the-shelf Intel PC motherboard. Apple has quite a bit of experience designing their own motherboards, they could easily redo their current custom design, or redo an Intel reference design, and ship something that does not use PC compatible parts and Mac OS X can be coded to only support those parts. Think interrupt controllers, DMA controllers, etc. The real cost savings comes from using Intel CPUs and PCI chipsets, not from having Intel design your motherboard.
Remember, Apple only said they would do nothing to stop Windows from running on their hardware. That does not mean the version of Windows you have today will run, they may merely mean they would not prevent MS from doing a version of Windows for Apple hardware.
Wonder how much innovation will be sacrificed by pulling developers and stuff off creating great new features, and putting them to work creating copy proof/crack proof install media.
Give it 5 years, and they could have 95% people trying blindly, Microsoft style to stop piracy, and have given up making the OS better in the first place.
Get your own free personal location tracker
Now I've gotta update Urban Dictionary to include:
"license a copy": phrase, slang for burning pirated software to DVD for longterm storage
Firstly, the latest version of 10.3 is 10.3.9, and it'll run anything built with gcc 4.0, including things which use the C++ dynamic library. [/pedant]
Secondly, compiling with gcc 4 doesn't completely prevent apps working on earlier OS versions, except in a couple of cases:
Thirdly, it's entirely possible to build two applications (using two targets within Xcode, one building ppc, one building intel) & throw the binaries at the lipo command-line tool to generate a fat binary (read: universal binary) from the two of them.
Lastly, it looks like Xcode 2.2 includes options to set compiler, linker, deployment target, etc. seperately for each compiled architecture. So in the next version of Xcode you won't even need to bother with the second step, you just let it use gcc 4.0, and you set something like 'GCC_VERSION_ppc=3.3' and 'GCC_VERSION_i386=4.0' in the build settings. Voila.
I mean, did you really, honestly think this wouldn't ever be possible? Universal binaries are just two binary files concatenated at 4096-byte (fs block size) offsets, with a header at the beginning saying what's in the file & where it is. Only a portion of the file gets mapped into memory, and that's the bit specified by the entry in the Fat header. Look at <mach-o/fat.h> and <mach-o/loader.h>; that's really all there is to it.
-Q
No, it's off topic because this isn't a shipping product that we're talking about. It's basically a beta version only available to developers.
Furthermore, apple's not making money off of this. They allowing developers to download it for free.
And even more furthermore, the headline deals with software pirating, which doesn't earn anyone money.
One time I threw a brick at a duck.
Apple probably isn't trying to discourage this activity... yet. Instead they are issuing a challenge to those with the creativity and know-how to hack the binaries, in order to observe how these people are doing it. In some sense, the relationship is mutually beneficial. Apple gets it's product tested for free by hundreds of incredibly intelligent and innovative hackers, while the hackers get short-term bragging rights for defeating Apple's subsequent fixes.
I have a feeling that once we no longer see current intel developer builds successfully being installed on non-Apple machines, Apple will begin rolling out the intel line.
8==8 Bones 8==8
I know that updating for bugfixes is the right things to do... But there's not much incentive to upgrade if your 'universal' binaries won't work on the previous developer system.
You're insane.
These are developer systems that cost $1000 each, you can't buy one without signing an NDA, and next year you'll have to give them back to Apple. If your shiny new universal binary doesn't run on a developer system that hasn't been upgraded to the latest OS from Apple... who the hell cares? The binary you compile when Apple is ready to sell x86-based Macs will run just fine on the x86-based Macs that your customers can actually buy. If some developer hasn't bothered to upgrade to Apple's latest version yet, who cares if your app won't work for him?
Does anyone else think that the whole universal binaries idea is a waste of time?
No, I'm pretty sure it's just you. Do you even know what a universal binary is?
Sure its handy where writing two versions is next to impossible, but realistically, thats not very often.
Yeah, I didn't think so. Go learn something about what's going on here before babbling incoherently about it.
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
I was under the impression that this beta was only available to Select members and above, making it paid software.
You cannot support 10.2.x, because they didn't have universal binary support from what I remember.
But you can have different library dependancies per platform in teh fat mach-o binary, meaning x86 could require 10.4 while ppc requires 10.3
What is Apple thinking? They've got fans so dedicated that they're hacking OS-X to run on Intel boxes a full year before any mainstream applications are likely to arrive, and all Apple can think about is how to stop and discourage them.
You put too much faith in Slashdot's write-ups. This has nothing to do with piracy. All Apple can think about* is, in fact, how to make Mac OS X for Intel the best OS it can be, and since they don't have to worry about backwards compatibility yet, they're freely breaking things.
* OK, they think about iPods too.
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
Erm-- This is a developer system. It's not finished. This isn't The Thing That'll Be Released Next Year, it's something cobbled together so that folks like me can make sure my software will work on the processor/hardware. It's not a live system that's being 'bugfixed', it's a development system that's actively being developed. That means it'll change. Binary file formats, linker specifics, etc. etc. We're not so much 'upgrading', we're keeping our aim focusssed on a moving target.
...also, having re-read your comment: where do you get the idea that anyone wants to maintain any sort of compatibility with the original 10.4.1 DTK? I mean, it's not like it's been released to the public or anything. Compatibility with the intel build of OS X 10.4.1 is not required; compatibility with the intel build of OS X 10.2 will also have been broken, but you don't seem concerned about that...? Or do you think we should all maintain compatibility with the pirated copies of OS Xi 10.4.1?
(For the record, intel apps built under 10.4.1 still work using 10.4.2; I'd guess that new capabilities/functions were added to the intel dynamic linker, which gcc 4.0.1 uses)
Again, you seem to be labouring under a misapprehension here. Universal Binaries are what are technically known as 'fat' binaries. In other words, they are a file which contains more than one executable file concatenated together. In this case, it's a file which has the i386 binary and the ppc binary within it, padded to fit the encapsulated 'files' on filesystem block boundaries (4096 bytes) and with a header up front that says where they are.
I can't believe I'm having to say this on Slashdot of all places, but universal binaries are not some weird magical thing which runs the same binary code on two different processors. They're not like the bytecode generated for the Java Virtual Machine. They're just a way of storing the binary code & data for different architectures within a single file. That's all.
Oh, and want to see a shipping application compiled as a universal binary? Try BBEdit 8.2.3 (here are the release notes).
like "mplayer mms://machine.network.org/stream.wmv" ??
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
ADC Select membership gets us access to any & all pre-release software. No matter what that may be. There are no additional costs involved in downloading the latest pre-release iteration of any piece of software, and that includes OS X for intel.
All Apple beta software (with a few minor exceptions) is available only to ADC Select members. That's what ADC Select membership is. The fee doesn't pay for the software, it pays for technical support, and goes towards the salaries of Apple DTS, who have to work with all of us who use the beta software.
-Q
While I see your point, the same is the case for many business models. Planned obsolesence is indeed something my company would love to do, and this is one of the ways that companies have done it in the past. Considering we're now discussing it, it's clearly relevant.
Jeez, guys, come on. This is a geek site. You'd expect more of a clue.
r Tools/Conceptual/cross_development/index.html for more info.
It has been the case for quite a while that a Mac OS X application built against a particular set of headers and stub libs will only run against those libs or newer. This means that if you build against the 10.3.9 headers (either by building against the system headers under 10.3.9 or against the 10.3.9 SDK), your code will not run in 10.3.8.
It has also been the case that the XCode install provided by Apple only provides SDK for the newest dot-releases of the OS (e.g. the current XCode installer has SDKs for 10.2.8 and 10.3.9 and no other of the 10.2.x and 10.3.x releases).
See Apple's Cross-Development Programming Guide at http://developer.apple.com/documentation/Develope
This is no intentional crippling. It's just how XCode works. No conspiracy here, move along.
Yes, but this isn't 'planned obsolescence'. This is an Unfinished Product. If I write a program, and at the start I put in Feature X, then later on remove Feature X to make way for Feature Y, before I've even released it as a product, then nothing becomes obsolete. There's no-one using Feature X, because the product hasn't been released. Now, I may have sent copies to some people to test, but that's all they'd be doing with it. Testing. Just like we are with the Apple DTKs, and the Intel builds of OS X.
Now, if OS X 10.4.1 for Intel were actually shipping, I'd agree. But it isn't. It's an unfinished product that is only available to paid-up developers -- the reason for which is very likely to filter out hobbyists and people who would sign up & 'buy' an Intel-based Mac for general use. The Developer Transition Kits are not ready for the prime time. They aren't finished. They are a work-in-progress.
OS X for Intel isn't finished. Its entire user base is made up of people who know that, and who have no trouble whatsoever updating to the latest version of the pre-release software. There are no legitimate users of OS X 10.4.1 for Intel processors who do not have access to the 10.4.2 install DVD, and there are none who have any reason not to install it.
-Q
They should do. I've just looked at the SDK for 10.1.5 and <mach-o/fat.h> is right there. Makes sense, too, since the support for it comes from NeXTStep.
I'm also pretty sure that I've run a Universal Binary on 10.2 personally. Although I'd have to double-check that once I get back to work tomorrow.
Anyone with 10.2 out there care to launch the latest versions of either BBEdit or Mathematica for us? They're both fat/universal binaries (ppc/i386 and ppc/ppc64 respectively).
-Q
Didn't DVD Jon crack that a few days ago... could've SWORN I read a story onthisverysite about it. Here's TFA it linked to
But Maaa! Everyone else has a
Apple took a $795 user operating system ($1295 with the development system), moderized it, added new technologies (many of which were open sourced) and open sourced the core OS.
They now sell it commerically (with the development system) for ~$120.
Meanwhile, they are giving away:
-Darwin
-QuickTime streaming server
-Webkit
-Launchd
-Netinfo
-I/O Kit
Nobody in the open source community really asked for any of those things, Apple just opened them.
Then again, the things that people want from Apple has never been part of "a free operating system" that Apple benefitted from:
- QuickTime (particularly the commercial codecs)
- OpenStep / Cocoa / Carbon APIs
- Quartz compositor, Q. Extreme
- Core Image, Video, etc; Core Data
So mentioning the GPL isn't applicable at all. Apple has borrowed from and contributed things back using BSD style licenses.
Trying for force people to share isn't freedom.
I've got 25GB of music ripped into iTunes, and the CDs in another room. What exactly is your point?
I'm glad as a system administrator I don't have to deal with product activation on Mac OSX, as with Windows XP
Though it's not the only reason, not by far, but activation in X is one reason I plan on making the next computer I get a Mac. And though I plan to get Virtual PC with Windows 2000, that is the last MS OS I will willingly get unless and until they get rid of activation.
Ditto with AutoCad and Photoshop if they start activation as well. Actually I'm looking for a good book to learn GIMP and if I were a halfway decent programmer I'd do some programming for GIMP myself.
FalconShould there be a Law?
The main thing for Apple is to get people hooked. For every hour that some kid is running a hacked OSX on his hand-me-down PC that's one less hour that Windows is being used and sucking out the kid's brain.
Apple gains mindshare regardless, and when that kid grows up and buys his first computer it'll probably be an official MacIntel. And of course by then he'll be able to use MacWINE to run his legacy Windows apps.
-- thinkyhead software and media
Apple has probably patched up the parts that made OS X vulnerable to the "run on any machine" hacks, but it's pretty silly to claim the binary breakage was part of it. They just haven't secured the ABI, that's all. Afterall, they do use a pre-release fork of GCC 4.x (which, BTW, was a bad idea if you ask me). And I'm not even talking about the C++ ABI, which seems to break everytime one of the GCC devs sneezes.
Windows 3.1 and Windows 95 were the two most pirated oses ever. All it did was make microsoft a monopoly.
I love the easy to crack Windows 95A key:
1234-12345 (hmmm... I wonder if this was on purpose to kill OS2)
People are more likely to buy apple if they see apple in the houses of others. People that try a cracked copy of Mac OS (if they like it) are much more likely to buy an intel based mac. The fact that they would try beta cracked copies shows they are interested in it. I am suprised it took apple this long to switch to intel. It increases the over all use. I don't even know why apple even spends the money on puting any kind of protection on it--they should let people have at it; just don't support anything except apple computers.
I thought from the sound of the blerb that apple was trying to pull a VISTA on us ppc users. I'm glad that's not the case. You know, the upgrade from X.2 to X.3, and X.3 to X.4 "broke" binaries. This is still in development. I was expecting to see something about apple trying to embed 15 different kinds of DRM in the kernel like MS is trying to dupe people into buying. Don't scare me like that!
VLC FOR MAC IS DYING! IF YOU DEVELOP, PLEASE SAVE IT!!
- no more piracy - unfettered development - destroy Windows - sell hardware? It's the last one that's a tough nut to crack.
since people keep saying apple is a services company
I've heard people say Apple is a hardware company, others say it's a software company, and myself I say it's a hardware and a software company but this is the first tyme I heard someone say it's a service company. At least that I can recall. Thinking about it though I suppose you can say it, as they say "it just works".
copyright grants them the right to use that copy in whatever means the customer sees fit.
Not with DMCA and other such laws. These laws now outlaw fair use. And though not all many are swallowing it hook, line, and sinker.
vote with your dollar and more importantly, vote with your conscience. even if you must buy DRM products, at least give some real thought into what you're owed and what you're giving up.
Yeap, in part that's why after I get Windows 2000 I don't plan on getting another MS OS unless and until they get rid of activation.
FalconShould there be a Law?
GNUStep is an interesting project, but I sounds like you are suggesting that there isn't much work involved in bringing GNUStep up to speed with Mac OS X.
Unfortunatley, that's not the case at all. Had Apple been able to replace the Mac System 7 with Rhapsody, as planned, GNUStep might have been more relevant, since Rhapsody was largely just OpenStep with Classic, running on PowerPC.
Mac OS X is dramatically different in architecture. It has a rich procedural set of foundation libraries based nominally on the carbonized / modernized Mac OS toolbox, and Cocoa has made massive changes in scope and ability since OpenStep 4.
Darwin is at version 8, suggesting four major versions ahead of OpenStep 4. And Mac OS X didn't follow a straight path of development from OpenStep; Apple reworked everything to fit a very different market and strategy.
Suggesting that GNUStep could ever be an viable open source version of Mac OS X is like suggesting that OS/2, with a little work, could serve as a "mostly-compatible" Win32 platform alternative to Windows xp.
In the context of not wasting one's efforts, that is truly an ironic suggestion.
Incorrect.
The dynamic linker in OS X makes the actual location of functions & other symbols in a linked library irrelevant, since the addresses are computed at run time by the dynamic loader -- the compiler inserts a 'stub' routine and a dummy address. The dummy address is first initialised to the address of a compiled-in function called _dyld_stub_binding_helper, which calls the relevant dyld library APIs to find the real function. The real address is then written over the dummy address, so future invocations will jump straight to the target routine.
I compile apps on OS X 10.4. Most things I compile using gcc 3.3 (because gcc 4.0 auto-links against a library that isn't present in 10.2.x), but I've never had the slightest problem running an app on an earlier version of the operating system. Unless I actually attempt to use a symbol that actually isn't there, nothing goes wrong.
Also, OS X has had weak-linking since 10.2. That means that the stub binding routine can happily return a symbol address of zero, meaning that I can link against somelib.dylib, including somefunc() which only exists in 10.4 & later, and -- at runtime -- I can simply do if (somefunc != 0) to see if the function is available. On 10.4, the function will be there. On earlier systems, the symbol value will just be zero.
Y'know, you should actually read the links you post, for instance, on the page you linked you'll find this useful nugget of information:
...you seem to imply that you're a programmer, so I'd recommend looking at <AvailabilityMacros.h> for further enlightenment.
So no, this isn't "just how Xcode works". Xcode (read: gcc & dyld) work in precisely the opposite way, and for a good reason. What's really happening is that some part of the binary file format has been changed, implemented, or created for the benefit of the Mach-O/dyld runtime.
Maybe it's something new for the Intel machines; maybe it's something that has been available for PPC, but just wasn't implemented in the Intel build of OS X 10.4.1; maybe the latest Intel build of dyld has some performance enhancements which are mirrored by a slight re-ordering of the data/text section format & flags. It doesn't really matter, since even now-- and this seems to be an important yet frequently ignored point so I'll make it very clear --
OS X for Intel is NOT FINISHED YET
Apple can and will make changes. That's part of the reason why folks like me have Developer Transition Kits. So we & they can find things that don't work so well, and would do better if they were changed slightly. This is just work in progress, and things can be changed, removed, added. It's Just Normal.
-Q
And a lot more people who look at the whole "gotta buy the OS AND the hardware" thing will just say "Screw it! I'm sticking with windows".
If I could get a version of Apple's OS running on a generic whitebox PC I'd be willing to try it. Forking out a couple hundred bucks isn't such a big thing. But If I need to spend a couple thousand to buy a PC that is capable of running it (simply because of some sort of hardware recognition/locking mechanism) it just ain't gonna happen. I know that lots of other people think the same.
Maybe Apple should realise that selling an OS that runs on generic PCs is a good way to make money. They can still sell their premium packages (ie: a custom PC/Mac with OSX) and offer solid support for it, then sell a cheaper, generic package (ie: just the OS that runs on any PC) that offers bugger all support (kinda like MS).
Then instead of "If you have a choice between buying an Apple Machine at $2000, but you can build an even more powerful machine for that price or lower and stick a cracked copy of OS X on it, where will you spend your money?" It'd be "Spend less to build a similar machine AND buy the legit OS."
As for the original issue in the thread... I don't see anything wrong with Apple making changes. It's a beta under development so we should expect changes.
An example of this (an old one albeit) was my first (cough) crack way back in time. I had bought ultima 5 but the disk (5 1/4) stopped working after a while. So I learnt assembly and did use debug to see why my game stopped working. After a short loading phase it went and XOR'd a small subset of instruction with number increasing by 3 (3,6,9 etc...) then if I recall correctly (it was waaaay long ago) it exchanged the interrupt 3 (the trace call interrupt) with a jump instruction and jumped right into the start of the code, which was only loading some waaaay off data into the disk interruption (13h) to read a bad sector on the disk. Depending on the result then it would say it is THE original disk or not. I simply exchanged the JMP with NOP, XOR'd by the correct number , wrote back the .COM programs. Et voila ! I could paly my game again.
The funny things is, this is only waaay later that somebody explained me that I had cracked my game. I just wanted to be able to play with something which had cost me 50$ and being 12 that was a lot of cash...
Nowaday the debugging is a bit more complicated and it all come down to the same : stop calling laserlok/safedisk/whatsoever checking that the CD is here.
C. Sagan : A demon haunted world:
http://www.amazon.com/gp/product/0345409469/
visit randi.org
Universal Binaries aren't two executables concatenated into one big file. They are separate files that are sitting in a special kind of folder (a package) that the Finder presents as one file. On the filesystem level, they are most definately separate.
Maybe if the hackers would have waited for a good stable build, Apple would have delayed their strategy. Imagine if the x86 OS X hack had not been made available until 10.4.4, or 10.4.8... what would Apple have done then? It would be too late to pull this strategy out of their hats. As long as the OS was stable, and binaries could be built with some version of XCode, I, for one, would at least be very interested in running this client version as a web/ftp/appletalk server/proxy... but only for the coolness factor, as part of a 'collection' of cool Apple stuff that should not be (like an ANS running Rhapsody or something). But 10.4.1 is just too unstable, as far as I can tell, for it to be worth dedicating such a new/good piece of hardware.
The Admin and the Engineer
You do know that mplayer/meconder can save the stream to a file, don't you?
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
Posting here just for 'completeness', for the potential enlightenment & edification of anyone following this particular thread.
Universal binaries are 'fat' binaries. I know this for a fact, because I'm an OS X developer and I've worked with them. Both for compiling 32/64-bit ppc apps, and while compiling stuff on a DTK (about which I obviously can't go into too much detail).
Details will go to another reply (who was more obnoxious in his incorrectness), but I've written programs that parse these things; they are just fat binaries, in a single file. You can download BBEdit 8.2.3 and take a look for yourself if you like, that's a universal binary.
-Q
I disagree with opinion of Windows 3.1-95's piracy being what gave Microsoft the monopoly.
Just because you can get it for free doesn't mean its going to be instantly popular. Look at Linux, its free, its effecient, and you can get it practically anywhere on anything. But it still doesn't have the market penetration of Windows. Sure some of it may have to do with the dizzy array of UI offerings.
Microsoft took a better approach. Instead of tying in together the hardware and software they just went for the software. It gave people a lot more options in terms of what they could run it on. Developers in turn saw this as a better platform to develop for because it had sucha huge market of hardware to use.
But in the end what made Microsoft a Monopoly was the OEM deals, the shady tactics of stealing work from others, patenting other peoples ideas, and threatening manufacturers who didn't buy into them. (i.e. If you support other OSs forget about getting discounts, etc.)
Everyone knows Windows 3.1 is abysmal by any standards. But Microsoft took a step forward with W95 and people accepted it, they weren't particularly thrilled with it compared to Apple at the time, but it was good enough and it ran on enough cheap hardware to make it a very good sell.
The average business man only thinks about how to make money and save it. If there is a choice between a machine that works absolutely perfectly, designed well, and is easy to use but has a steep price tag, they are going to go with the cheaper alternative that won't work as well. Those same business men don't care about innovation, they want something that will get the job done. Sure enough Windows sales for Business soared.
Most of the time businesses will not use pirated software, they will pay the cost of the hardware and software and not worry about things that most pirates do. Thats where M$ got its strangle hold.
As business sales soared, it began to invade the consumer market, at the time the most people thought computers could do was work related stuff. So they went with what they knew, they got cheap PCs with a cheap OS.
All of a sudden the PC starts to flourish for the consumer market, Developers see that as a target audience. Who would you build for? 5 cheap machines or 1 expensive one? They are going to go for the people that have the bulk of the hardware and OS. It just becomes a vicious cycle.
I'm not saying that piracy didn't help. But it didn't make them a monopoly. They probably still would have a monopoly even if their OS wasn't pirated.
Oh, I'm afraid they're most definitely single files.
I'm an OS X developer, and I know whereof I speak because I deal with these things all the time. Not only do I write system-level software which at certain points involves scanning binary files to locate symbols, sections, and the like, but I also have access to a DTK, and can see first hand that the ppc/i386 binaries are formatted in exactly the same way as ppc/ppc64 (or ppc/ppc64/i386) binaries are when building for 64-bit support on OS X 10.3.
GUI applications are bundles (usually -- I've written command-line apps that show a UI before now); frameworks are (kinda, they don't have the 'bundle bit' set in their top-level folders, so they appear as a folder, not a file); plugins are (if they have the bundle bit set); and kernel extensions are. Lots of things are indeed bundles.
Command-line tools, however, are not bundles, yet they are (or can be) Universal Binaries.
However, go into the Finder, do Cmd-Shift-G, and type '/usr/bin' into the field, then click 'Go'. See all those files? They're not bundles. If you right-click or control-click on them, there is no 'show package contents' option: that's because they're not a package. And yet, these are exactly the type of files which use the universal/fat binary format to gain 64-bit support (since that's only available for non-GUI apps which link only against the system & c libraries).
In the Terminal, type file /usr/lib/libSystem.B.dylib and press enter. You'll see two (or on a DTK, three) architectures listed. Now do ls -ld /usr/lib/libSystem.B.dylib and press enter again. Look at the leftmost character. Notice how it's a hyphen, not a 'd'? That means it's a file, not a folder. Now do the same thing for an application bundle (e.g. ls -ld /Applications/Calculator.app). See how the leftmost character here is a 'd'? That's because it's a folder, with (possibly) the bundle bit set, although that last doesn't matter since the Finder has special handling of the .app suffix anyway.
Universal binaries are created by compiling separate binary files, one for each target architecture. These binaries are then passed to the lipo tool to concatenate them into a single binary file; here's the manual page for lipo.
Also, you can see here some instructions on how to build a universal binary from a configure-style project (i.e. not using Xcode). Scroll down particularly to the Merging Multiple Builds section, taking especial note of the bit about using the file command to verify the contents of the single file that was output.
For further information, please refer to the following:
Troll, but informative.
Dear aunt, let's set so double the killer delete select all
I seriously doubt spending $500 for a brand new Mac Mini is going to make people stick with Windows.
You can stay on the Wintel side if you want, Apple is looking at the demographic of people that are just simply sick and tired of babysitting their machines. You forget that Apple isn't a software company. Its a HARDWARE and software company. A brand new Mac is going to make Apple more money than a copy of OS X will. Yeah, they can still sell their premium hardware, but whose is going to buy it? Not many. The majority of Apple's profits come from hardware. They are not going to risk what the Clones did to them last time. As soon as let clones run Mac OS, Apple's hardware sales fell and the market share only went up a fraction.
Here are some other reasons why Apple won't do it:
1. Growing pains for the Business. If Apple's market share increases rapidly, Apple won't have the resources at hand to keep up with it. If you are a boss, can you imagine having an overwhelming surge of new customers coming in that just outright floods your workers?
2. Going generic means supporting tons of hardware. That means OS X would go the way of Windows. So much for all the installations being near identical. Instead you have to come up with tons and tons of drivers, you have to support millions of configurations, you have document and provide help on millions and millions of problems. All your software becomes bloated and makes it harder to debug, which means buggy product releases.
3. OS X becomes a big cracker and virus writer target. A huge marketshare means a bigger malicious group of people. Suddenly Mac Users will have to worry about viruses, scripts, worms, and the like.
4. People will find a way to steal the OS regardless of how much effort is put into anti-piracy. Look at M$, they spent millions on developing a way to prevent piracy of XP, and people still crack it every few days.
5. Stagnation. If you have a monopoly you really don't have to be innovative, you just have to keep up with the times. Look at M$, the monopoly, practically no new ideas out of them. They don't have to worry about competing. Apple on the other hand has to put out every innovation they can think of to get people to switch, if the position is reversed it'll be the same thing.
Could take a free operating system and turn it into something people want to pirate. Long live the GPL.
The BSD license is less restrictive than the GPL specifically to allow this. Operating systems using BSD-licensed software include Solaris, HP/UX, Mac OS X, Tru64, AIX, SCO UNIX, Windows NT/2000/XP, and Windows Vista.
So, the number of bugs afflicting us Mac users has a negative correlation with the popularity of the software? Not quite, but you might be on to something here: Because Windows is so popular, Microsoft doesn't give a shit how many bugs it has!
Mike van Lammeren
It will challenge your head, your brain, and your mind.
Nobody was asking for them because, frankly, Apple's kernel is an obsolete 1980s academia design with poor performance.
And people like you in the Linux-centric part of the free software community are ignoring all the rest of the really nice stuff in the pile of software that Apple's distributing because you're going "Ick, Mach". Personally, I'd rather they didn't use Mach... the 1970's design in Linux and BSD is much easier to get right than a microkernel, and Mach isn't even much of a microkernel... but *damn*, there's some really good stuff in there outside the kernel.
As to Apple contributing I give you khtml as an example of where the talk the talk but don't walk the walk.
You're kidding, right?
They didn't ask for any favors, they provided regular snapshots of their source tree, and when a bunch of people in the community got bent out of shape over what turned out to be a complete misunderstanding they went out of their way to accomodate everyone, including putting their source repository on the web.
Anyone who says they "don't walk the walk" has been viewing a filtered reality, in the real one they've gone far beyond what anyone could have expected of them.
They might have simply decided to change some compiler flags that will yield incompatible binaries (gcc has a ton of them).
Nothing meant to stop piracy, just a different methodology for making calls, etc. Changing the default style for sending parameters, use of registers for arguments to leaf functions, etc.
The point is not to clone all aspects or to have the expectation of universally simply recompiling complex apps, but to provide a development environment and user environment with a lot of the features. Despite a great deal of work on Apples side, there is still a great deal of common API, so that if the community wrote their apps as much as possible to the common APIs, GNUstep would be able to offer a great deal while simultaneously giving those Apps the opportunity to run in OSX. Focus on GNUstep/Cocoa common API and there is still a great deal of flexibility to be had.
From the end-user's perspective, they aren't as drastically different as one would think at first glance. Make GNUstep shiny, change the menus to shiny and horizontal, tack a shelf feature onto a dock with a little enhancement visually, and you are actually relatively close. Most important aspect is the feel more than the look, and conceptually nextstep/gnustep apps are similar to arbitrary Mac apps (persistant menu, HIG standards, etc).
Could large application with huge codebase written with only in OSX be simply recompiled with GNUstep? Almost certainly not, for the reasons mentioned, but it does not mean that those who feel the Apple OS design are without options in alternatives.
BTW, I think comparing version numbers at all is relatively silly, but particularly Darwin vs. OpenStep seems silly, since most of the meat of the Step-like stuff from an API/user perspective is at a different layer anyway.
The bottom line for me is that it moderately frustrates me that GNOME and KDE receive so much effort and attention, which falls more in the area of the MS Windows interface paradigm, while GNUstep is a path to a really interesting alternative. I am not claiming GNOME or KDE to be Windows clones, just that the way applications/windows/menus in general are managed is far more Windows-like than Mac-like.
XML is like violence. If it doesn't solve the problem, use more.
Seriously, Apple's marketing over the last 20 years has had one consistant message -- "Apple is cool". They sell themselves more than the computers. That's why you have people, like one guy I know, who has sent his iBook back three times but still bleeds seven colors.
I agree Apple's marketing, pr, needs to be reworked. Instead of them just focusing on being cool, they should let people know what it can do and that though Macs are cost more they are typically in service longer than PCs. Lowering initial costs should help too and I hope the Mactels they sale at lower costs. Actually I've been thinking maybe they should release Mactels at the lower end and keep PPC for the higher end. I'd also like to see Mac OS available on computers from OEMs, Dell, HP, and such. The problem here though is that Apple did allow clones at one tyme but they found that they didn't make enough from the sale of the OS to cover the loss from reduced hardware sales. If Mactels can reduce their costs then licensing Mac OS may be possibly profitable.
one guy I know, who has sent his iBook back three times but still bleeds seven colors.
My first laptop I got from Gateway and in less than a year the hd died and had to be replaced then the motherboard died. The replacement hd they sent second day and the box to send the laptop in I received the day after I called. But then it took a week for them to repair, then when they sent it back I never got it. After jumping between them and the shipper they decided to send a new one. One problem there though was that they were short on parts for it and I ended up waiting more than a month to get the replacement.
The computer I'm using now is an HP and just like the laptop in the first year both the hd and the motherboard had to be replaced. The only computers I've had that I didn't have to have serviced were the two Macs I had. The first I got used in 1990 or '91, it died in 2001 and it would of cost more to fix than the get a new one. The second one I also got used, in 2001. The first year I had it I didn't have problems, other than it was slow and the hd was small.
I've used both Macs and PCs since the mid '80s, mostly Macs from then until '97, and mostly PCs since then. In that tyme the only problem I had with a Mac was when my first one died after I had it about 10 years whereas of the three PCs I've had two had hardware problem within the first year and I had problems with the OS, Windows 98 and ME, on both. I have one PC I haven't had hardware or software problems with. Well I have had software problems but not with the OS, it runs Windows NT 4.0. However I have had problems installing software as the processor is a DEC Alpha. And because I wasn't able to install much software on it I haven't used it much, and not at all in more than a year. I hope to change that soon, I keep saying I'll network the three computers I still have, the Alpha running NT4 and Linux, the HP running WinME, and my Mac running Mac OS 7.x or 8.x, but I hope to do so within a couple of weeks. I need to get some good resources on how to network all of them.
Falcon
PS marketing and PR was one of two problems the Amiga also had. Amigas were exellent and could not only do everything Macs and PCs could but could also run both Mac and PC OSs and software. However instead of marketing the Amiga for a broad market they concentrated on multimedia and gamers. That was because the company, admin or executives, didn't know what they was doing, which was the second problem, er actually first because it caused the poor marketing.
Should there be a Law?
He may have a point but he needs to provide evidence of some reasoning.
I think Chorus (a cable tv company in Ireland) absolutely suck and I someone asked, I could tell them why. I can tell them about my experiences as a customer with them and also compare them to other companies.
In the end, it could be a case of me being unlucky with Chorus and everyone else is having a great time with them but at least I can show some practical evidence.
-- Using the preview button since 2005