The fourth alpha release of Gnash has just been made at version 0.8.1. Gnash is a GPL'd Flash movie player and browser plugin for Firefox, Mozilla, Konqueror, and Opera. Gnash supports many SWF v7 features and ActionScript2 classes. Gnash also runs on many GNU/Linux distributions, embedded GNU/Linux, FreeBSD, NetBSD, OpenBSD, non x86 processors, and 64 bit architectures. Ports to Darwin and Windows are in progress for a future release. The plugin works best with Firefox
1.0.4 or newer, and should work in any Mozilla based browser. There is also a standalone player for GNOME or KDE based desktops.

Why does it seem like every oss project is able to port their code to other platforms, or even extensions such as 64bit, but the proprietary companies such as adobe have trouble porting to just 64bit windows?

I wouldn't be surprised to see Adobe open-source the Flash Player before Gnash gets ActionScript 3.0/Flash 9 support.

In my mind, everything points towards that. The Flex SDK is open-source and the ECMAScript interpreter for ActionScript was donated to Mozilla. Their AJAX framework, Spry, is open-source (rather than just being viewable JavaScript with a restrictive license). I can't imagine Adobe feel they've done too badly out of the PDF standard either.

Then there's the competition. Microsoft are open to the Moonlight open-source project right now - they're smart enough to know it promotes Silverlight more than it promotes Linux. Being "unofficial" support, they get goodwill from Mono developers and people who like open-standards, but crucially they keep control. Meanwhile Windows Update does its work.

Of course, there are risks, but open-sourcing the Flex SDK was extremely telling IMHO. It's easier to build a Flex Builder replacement on top of Eclipse than it is to build a full Flash authoring app so they seem ready to face those concerns.

Flash Player 9 itself is effectively two players in one. The ActionScript 3 side is a nice new code-base that's ideal for open-sourcing. If Adobe are smart they'll act swiftly.

It's not so much that they have trouble but they don't do it simply because it's not profitable for them. For example, spending an additional 10-20% or more to deliver a Linux port is not worth for getting maybe 3-5% additional customers (numbers are just examples). It's even worse for 64bit versions as practically any user can just run the 32bit version (no additional customers). However, both may change as/if the adaption rate for 64bit platforms and alternative OSes increase. (As the shift to 64bit architectures is evident, I'd expect most vendors to release 64bit versions from the next major versions of their software, but not spend any additional money to deliver 64bit versions of existing apps unless it significantly increases performance for that app.)

Why does it seem like every oss project is able to port their code to other platforms, or even extensions such as 64bit, but the proprietary companies such as adobe have trouble porting to just 64bit windows?

A lot of proprietary code is crufty and old due to backwards compatibility. Free software code is usually cleaner and refactored more often. In addition to cleaner code free software always has someone who wants an application bad enough on their platform to port it themselves.

Many companys have the "get it running on our reference machine, we will fix the glitches on some other machines later" attitude.

Developers need more time for really portable code (although its much easier on POSIX platforms). In a company, they want you to get the job done, and do it fast. The job is the target machine/platform, and nobody will ask you about another OS or platform because it isn't in their business plan anyway. So you use every single (non-portable) feature of the target platform that shortens your work.

But if I code for free/fun, I want to write nice/elegant code, not only fast code.