Slashdot Mirror


Porting Open Source to Minor Platforms is Harmful

Tamerlan writes "Ulrich Drepper posted a blog entry titled "Dictatorship of Minorities". He argues that open source projects' attempts to support non-mainstream (read "non-Linux") operating systems slow down development and testing. While Ulrich may be biased (he is a RedHat employee) he has the point: if you ever read mailing list of any large open source project, you know that significant piece of traffic is about platform-specific bugs or a new release broken on some exotic platform."

709 comments

  1. Adverse Affect For Me by geomon · · Score: 3, Interesting

    But I agree with the opinion if, as a developer and/or integrator, you are attempting to reach a mass market. Red Hat, then SuSE and others have abandoned the Sparc platform awhile ago. I bought an old Ultra 1 and am now limited to a few distros to keep my Sparc machine up to date.

    But it was my understanding that the idea behind open source was to roll your own if your machine was not covered. If I want to keep the Sparc chugging along, I guess I'd better learn to port it myself.

    --
    "Rocky Rococo, at your cervix!"
    1. Re:Adverse Affect For Me by andreyw · · Score: 0, Offtopic

      Any reason why you're not running Solaris 10 on the Ultra?

    2. Re:Adverse Affect For Me by 0racle · · Score: 1

      Could it be because Solaris 10 wont run on an Ultra 1?

      --
      "I use a Mac because I'm just better than you are."
    3. Re:Adverse Affect For Me by darkjedi521 · · Score: 1

      You need at least a U2 to run Solaris 10. U1 isn't supported.

    4. Re:Adverse Affect For Me by raddan · · Score: 1

      Why not try a BSD? If you already use a UNIX-like system, making the switch won't be hard. OpenBSD has great Sparc support, mostly because some key developers love the platform.

    5. Re:Adverse Affect For Me by geomon · · Score: 1

      OpenBSD has great Sparc support, mostly because some key developers love the platform.

      I picked up a copy from their ftp site last week. I will be installing it this week.

      Have you run OpenBSD on Sparc?

      Any snags to watch out for?

      --
      "Rocky Rococo, at your cervix!"
    6. Re:Adverse Affect For Me by darkjedi521 · · Score: 1

      The sbus bme (bigmac) cards don't seem to work at all on ultrasparc. Tried to move a firewall on a sparc5 to a U1 and the nics wouldn't work in the U1. The other caveat is some sbus nics need a userspace tool run in securelevel 0 to change their MAC addresses.

    7. Re:Adverse Affect For Me by Grishnakh · · Score: 1

      I'm not attempting to be critical, but I'm just wondering: why even bother using such old hardware? Fairly modern PC hardware is dirt cheap and should easily outperform old Sun hardware. What's your motivation for staying with it?

    8. Re:Adverse Affect For Me by geomon · · Score: 1

      Thanks for the heads up.

      --
      "Rocky Rococo, at your cervix!"
    9. Re:Adverse Affect For Me by geomon · · Score: 2, Interesting

      What's your motivation for staying with it?

      For the same reason I tried Linux in 1996: interest in alternatives.

      --
      "Rocky Rococo, at your cervix!"
    10. Re:Adverse Affect For Me by darkjedi521 · · Score: 1

      No problem. I didn't get a chance to file a bug report since someone dug up a qfe card and I didn't have time to screw around with the system to get the data to do so.

    11. Re:Adverse Affect For Me by darkjedi521 · · Score: 2

      Although one should not rely on security by obsecurity, it helps a bit. I run CVS on netbsd/pmax, WWW on Apache/VMS/Alpha, SMB on Openbsd/Sparc, Firewall on OpenBSD/sparc64. Except for the sparc64, none of these are "popular" platforms - assuming one of the OSS packages has an exploit, the odds of having an exploit that works on OpenVMS is a lot slimmer than a functional exploit for Linux/x86. This is not a production network, but an experimental/historical network of machines I run for fun in my spare time. I try to run the most recent version original OS, with as much GNU tools as needed for functionality/security.

    12. Re:Adverse Affect For Me by ignorant_coward · · Score: 5, Insightful

      why even bother using such old hardware?

      For the same reason Ulrich Drepper is wrong. An Ultra 1 is super cheap, now, and it gives a programmer the chance to test code on a big-endian 64-bit architecture. Are there lines of code with endian dependencies? Are there lines of code that assume 32-bit CPUs?

      The same goes for testing on Linux, as well as NetBSD, Solaris, etc. Does the code really use POSIX intelligently? Is the program abstracted well from the kernel services?

      This whole article is just a Red Hat employee tooting his company's horn. His advice is inappropriate, in that it promotes bad programming, just as Windows fanboys writing to Win32 can shoot themselves in their feet so often.

    13. Re:Adverse Affect For Me by dknj · · Score: 1

      and if you use the same hardware from 96, you will notice similar lack of alternatives for it, relatively speaking. haiku, reactos, etc. will not run on anything older than a pentium. why should it be any different for sparc? lets let obsolete hardware become obsolete and stop computing in the stone age.

      -dk

    14. Re:Adverse Affect For Me by jrockway · · Score: 1

      It's running fine on my Ultra 1. I can even read slashdot with it!

      --
      My other car is first.
    15. Re:Adverse Affect For Me by andreyw · · Score: 2, Informative

      Incorrect. If you use the pre-september release (s10_44), then both the Ultra 1 CPU and the Lance chip are supported.

    16. Re:Adverse Affect For Me by andreyw · · Score: 2, Informative

      Very much incorrect. If you use the pre-september release (s10_44), then both the Ultra 1 CPU and the Lance chip are supported.

    17. Re:Adverse Affect For Me by Sancho · · Score: 1

      You can pick up old sparc machines for less than the price of a new PC. There's geek factor in owning them, and they make just dandy desktops (for web browsing, SSH, etc).

    18. Re:Adverse Affect For Me by citog · · Score: 5, Insightful

      There are probably a few valid reasons, I think. Here are mine:
      - Not everything requires the latest hardware. Keeping machines running, that are still fully functional (component wise), keeps them out of landfills.
      - Sentimentality, I like the Sun SPARC hardware and want to keep using it. Even for trivial tasks like shell accounts for mates and some types of testing.
      - Diversity is a useful thing of itself, an x86 monoculture can't be good for us long term.

    19. Re:Adverse Affect For Me by FireFury03 · · Score: 1

      Diversity is a useful thing of itself, an x86 monoculture can't be good for us long term.

      This is a significant point. IMHO, if an open solution like Linux had taken the "market lead (for desktops)" back in the 80386 days, noone would be using x86 hardware anymore. x86 hardware is really not the best design (any more), the only reason we keep using hardware that's backward compatable with x86 is because the majority of people are using closed software that _can't_ be recompiled for a different architecture. And of course, with the majority of people needing x86 hardware, the price of x86 kit is driven down making it unfeasable to go with a "better" architecture.

      I think a good example of the sort of market we would get if the desktop scene wasn't dominated by a closed system that only runs on one architecture is the PDA sector: PDA manufacturers aren't tied into a specific architecture to the same extent as PC users - if some new hardware comes along that has a significant advantage over the old hardware they will happilly dump the old architecture in favor of the new one.

    20. Re:Adverse Affect For Me by R.D.Olivaw · · Score: 3, Insightful

      If he's stuck with one particular release then he 'can't keep his ultra up-to-date'. That's what the original poster said. he doesn't want just an OS or a distro. He wants one that still supports his chip, releases updates to it and so on and so forth.

    21. Re:Adverse Affect For Me by multipart · · Score: 1

      I don't think his comments have much to do with Uli being a RedHat employee or not. I am not a RH employee and I still agree with him on most (but certainly not all!) of the issues he raises in his rant.

    22. Re:Adverse Affect For Me by Anonymous Coward · · Score: 1, Interesting

      One really good reason for choosing old non-X86 boxes is that many of them were overdesigned (bigger p/s, better/more fans, more thoughtful airflow, etc.) and can run 24x7 without melting down. I have a SPARC that I've been using for a mail/dns/dhcp/ntp (I also have iptables set up but this box is NOT my firewall) server and it has been up (except for the occassional power failure) 24x7x365 for about the last eight years. Yes, I could buy an x86 server but that costs bunches more than an old SPARC box.

      Another good reason is that SPARC boxes laugh (ok, laugh isnt't quite the right word but you know what i mean) at the x86 virus/trojan binaries that script kiddies promulgate.

      The x86 architecture is far from optimal. Motorola was right when they used the marketing phrase "A break with the past" when they brought out the 68000 series. But, the industry (end users?) wanted backward compatibility and so we're stuck with relic software (bugs and all).

    23. Re:Adverse Affect For Me by fr0dicus · · Score: 1

      What about Mhz/Watt? Old machines are now incredibly power-inefficient as a means of getting things done.

    24. Re:Adverse Affect For Me by cbr2702 · · Score: 2, Insightful

      While MHz/Watt is not good for old computers, most of the time you don't use anywhere near the full power of a new machine. If a 386 running at 100 Watts and it does what you need, why should you switch to a 350 Watt p4? You'd get better MHz/Watt but more Watts overall.

      --


      This post written under Gentoo-linux with an SCO IP license.
    25. Re:Adverse Affect For Me by Alioth · · Score: 1

      I have an old Ultra 5. It runs OpenBSD.

      I still run it rather than replacing it because (a) it does what I need it to do (serving) with perfectly adequate performance, (b) it still works well, (c) it's secure and (d) I don't see the point of throwing out perfectly good working hardware, and (e) it allows me to tell all those insufferable AMD64 users on IRC that I was on 64-bit years before them (the last one isn't serious by the way!)

      Indeed, I recently added a 250GB hard drive to turn the machine into a DVD server.

    26. Re:Adverse Affect For Me by fr0dicus · · Score: 1

      I don't disagree regarding using a P4, but then I run two Via C3 533Mhz systems. 19W max each, or the power bricks are lying :)

    27. Re:Adverse Affect For Me by op00to · · Score: 1

      I run a few large unix boxes, multiuser, shell access. I laugh when I see morons upload x86 linux rootkits on my decidedly non-x86 non-linux box.

    28. Re:Adverse Affect For Me by mollymoo · · Score: 1

      Running a 386 isn't very clever unless you're using it as a terminal. As as a headless box, something like a Linksys NSLU2 is much more powerful in terms of computing power than a 386 and uses only a couple of watts. It'd pay for itself in electricity. Modern hardware isn't only about speed.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    29. Re:Adverse Affect For Me by HoserHead · · Score: 1

      By the way, MHz is not a measure of CPU speed; it's a measure of clock frequency only. Saying "This computer is faster than this one because it's 100 MHz and that one is 33 MHz" is like saying "This car is faster than that one because it's going at 6000 RPM and that one is going at 3000 RPM." Remember: there's a lot more to CPU speed than clock speed.

    30. Re:Adverse Affect For Me by LifesABeach · · Score: 1

      It appears that Ulrich Drepper's work is based on the type of business model that third party closed source companies use to evaluate their products. It appears that if one ignores the creative talents of others on a global scale, a person can become one with the third party types. But why would software developers want to alienate future customers?

    31. Re:Adverse Affect For Me by Politburo · · Score: 1

      And in a similar vein, the rating of the PSU is a maximum. It is by no means the normal power consumption of the system.

    32. Re:Adverse Affect For Me by Anonymous Coward · · Score: 0

      Because it sucks ass?

    33. Re:Adverse Affect For Me by budgenator · · Score: 2, Interesting

      x86 hardware is really not the best design (any more)
      Was it ever, at least 6809 - m68k was understandable by mere mortals and had a certain elegance. x86, ( hell even the 4004-8080) has always seemed kludgey, inelegant and incomprehensable.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    34. Re:Adverse Affect For Me by Anonymous Coward · · Score: 0

      According to Slashdot users, I'm funny, insightful and interesting! So why aren't girls all over me?

      Because MEN find you "funny, insightful and interesting". Maybe you could try it differently?

    35. Re:Adverse Affect For Me by Curtman · · Score: 1
      I don't think his comments have much to do with Uli being a RedHat employee or not.


      What is concerning though, is that Uli is (I believe) largely the person in charge of commits to glibc CVS. glibc is and should be very portable. Anyone know why the glibc port to Solaris is so neglected? Wouldn't glibc be very very important to a truely free Solaris distro? How come Sun's proprietary libc is the only option for Solaris 10, or am I mistaken? When Sun talks about openning Solaris, are they talking about just the kernel, or libc as well?
    36. Re:Adverse Affect For Me by FireFury03 · · Score: 1

      Was it ever, at least 6809 - m68k was understandable by mere mortals and had a certain elegance.

      Quite. But whichever way you look at it, we shouldn't need to have the hardware bloat of remaining compatable with 20 year old hardware. I think most people using FOSS systems have no problem with adopting a completely incompatable, but much better architecture - it's only the people tied to closed systems who need the backwards compatability.

    37. Re:Adverse Affect For Me by Anonymous Coward · · Score: 0

      When Sun talks about openning Solaris, are they talking about just the kernel, or libc as well?

      Here is the OpenSolaris roadmap. It does mention libraries in addition to the kernel as part of the source release.

    38. Re:Adverse Affect For Me by geomon · · Score: 1

      lets let obsolete hardware become obsolete and stop computing in the stone age.

      I understand your reasoning, but the same could be said for classic cars. No one that collects vintage cars is buying them because they are more efficient or are built to more modern standards. They buy them because they represent an era in automotive history.

      I bought the Ultra to explore an alternative architecture to the x86. I also have a future museum piece to add to a collection of other fine specimens of computing hardware.

      I don't intend on dumping them just because someone would like me to quit using them. I do have modern equipment that runs modern OSs. I also have equipment that I am working to preserve for my own collection.

      --
      "Rocky Rococo, at your cervix!"
    39. Re:Adverse Affect For Me by cbr2702 · · Score: 1

      Both are true; the wattage of the power supply is a max and the MHz of the CPU is not directly proportional to its processing power. The general idea is true, however, and a P4 needs much more power than a 386 does to keep running.

      --


      This post written under Gentoo-linux with an SCO IP license.
    40. Re:Adverse Affect For Me by Grishnakh · · Score: 1

      Yes, but from what I've read, AMD's newest processors use very little power when they're idling or at low CPU usage. If you want an always-on system which doesn't need an extremely powerful CPU, maybe setting up a system with one of AMD's low-end processors, or maybe even a VIA EPIA is the way to go.

    41. Re:Adverse Affect For Me by Geekboy(Wizard) · · Score: 1

      Theo himself runs OpenBSD on SPARC. You are practically guarenteed to always have a working OpenBSD on SPARC, because if it breaks, the breaker has to deal with Theo ;)

    42. Re:Adverse Affect For Me by geomon · · Score: 1

      Ouch!

      I've read some of his exchanges.

      --
      "Rocky Rococo, at your cervix!"
    43. Re:Adverse Affect For Me by the+morgawr · · Score: 1
      > This whole article is just a Red Hat employee tooting his company's horn.

      I think you are wrong. Ulrich is just an idiot; one who likes to encourage bad programming habits. No I'm not trolling; he's managed to demonstrate that trait quite objectively.

      In this case he doesn't realise that 9 times out of ten the minority platforms are exposing existing bugs that also effect the major platforms in less obvious ways. By giving up the minory platforms, you give up a the ability to catch bugs caused by bad programming. While not axing these bugs may be convinient now, in the long run it will bite you bad...

      Another example of Ulrich's stupidity: He doesn't accept patches for glibc to support the BSD buffer-overflow-protected string functions(e.g. strlcpy() and friends) because programers are supposed to be smart enough not to write buffer overflows (his arguement). As a result of his policy, many open source apps have been forced to roll their own functions or else use the error prone posix ones. Every other major libc supports these functions (even Solaris), but GNU people won't because Ulrich says it's the programers' job to be smart. WTF?

      --
      The policy of the United States is worse than bad---it is insane. -- Ludwig von Mises, Economic Policy(1959)
    44. Re:Adverse Affect For Me by Anonymous Coward · · Score: 0

      Another example of Ulrich's stupidity: He doesn't accept patches for glibc to support the BSD buffer-overflow-protected string functions(e.g. strlcpy() and friends) because programers are supposed to be smart enough not to write buffer overflows (his arguement).

      Yes, this is clearly a case where one programmer can save other programmers lots of work but chooses not to. IMO, this goes completely against what programmers are supposed to do: make other programmers' lives easier (in this case it's basic standardization of a few functions).

  2. Of course by LBArrettAnderson · · Score: 2, Insightful

    Of course it is... And by that logic, developing software at all is harmful - takes time, money, and all the same stuff it takes to port it.

    http://imcommunity.net/cgi-bin/u.cgi?u=38

    1. Re:Of course by Liquidrage · · Score: 1

      I don't think logic leads to your statement.

      You might not agree with the blog entry, but it certainly doesn't posit logic that would lead to your statement. Please let me know if you need a further explaination. But I'm pretty sure that after you've taken a moment of reflection you'll understand why your initial response was not accurate.

    2. Re:Of course by Johnny+O · · Score: 5, Insightful

      And this is the logic which most Windoze software manufacturers use to throw at us Linux users. IT is why us Linux users are missing some great software out there.

      So, tell me... In our minority, why on earth would we take that attitude?

      Ulrich is off his rocker.

    3. Re:Of course by poopdeville · · Score: 1

      Greasy and patronizing. You're almost a triple threat.

      Hint: don't just tell some one they're wrong. Tell them why they're wrong.

      --
      After all, I am strangely colored.
    4. Re:Of course by quarkscat · · Score: 1

      Well, I can understand Ulrich's position. The company he works for only supports specific and profitable platforms. Microsoft dropped their WinNT support for the ALPHA, MIPS, and PPC platforms because they didn't want to re-write their Application suite. IMHO, though, MSFT's software offerings would have been more stable and less buggy if they had proceeded to port all their applications to these other platforms.

      But Ulrich's position is indefensible in the broader scheme of F/OSS and linux, which has the marketshare it does have ONLY because of the ability to be ported to any number of archane platforms. This is its strength, and not a weakness. It would appear that in Ulrich's lexicon, linux (or F/OSS) and portability do not
      belong in the same sentence. I don't claim to know his curriculum vitae, but he sounds sort of Microsoftie...

  3. Question by cyberfunk2 · · Score: 2, Insightful

    Are they referring to Mac OS here ? I highly value the open source ports made to Mac OS X, such as firefox.

    Furthermore, at least on OSX, the Fink project makes many programs OS X buildable, but puts the maintenance onus mostly on the Fink people, not the original authors. Of course this can have it's own problems.

    1. Re:Question by danielk1982 · · Score: 0, Insightful


      Are they referring to Mac OS here ?


      Mac OS, Windows, Solaris, BSD pretty much anything that isn't Linux, or specifically Red Hat Linux


      I highly value the open source ports made to Mac OS X, such as firefox.


      As do I, considering I am obliged to work under Windows 2000 at work.

      Bottom line is that he's right. Ports do cost time and effort and probably slow development, but the reason they are there is because there is a need. People want to run OpenOffice on Windows, FireFox on Linux and Apache on FreeBSD.

    2. Re:Question by LnxAddct · · Score: 2, Informative

      I don't think they are talking about mac. Hell, this next release of Fedora on June 6th will be the first to support the Mac (most importanty the mac mini). I think this is referring to things like why should Suse or Fedora run on Arm processors? If these distros were targeting them specifically it'd be different, but Fedora and Suse target mainly X86 and X86_64 as far as I know. Why make programmers focus attention on platforms that will rarely be used? I myself am a programmer and find that after the top 3 or 4 platforms being targeted, your efforts on other platforms start to get stretched to the point of diminishing returns. It eventually cuts into you're regular work and I think it really does affect code quality. I look at it kind of like code optimization, 10% of a program in many cases will be used 90% of the time, and supporting platforms with little use or popularity usually wind up using up a large percentage of your time in testing and debugging. Please note that I'm not saying platform diversity is bad, it is indeed a good thing and very important and that is why its nice that some open source projects such as NetBSD target every platform under the sun. For best code quality though, its *usually* best to stick to as few platforms as possible. (Note: NetBSD does a surprisingly good job of keeping acceptable code quality while retaining support for many platforms)
      Regards,
      Steve

    3. Re:Question by pfdietz · · Score: 1

      Arms are far from a minor platform. How many cell phones do you think are sold every year?

    4. Re:Question by LnxAddct · · Score: 1

      Sorry should have clarified, I meant for a desktop platform like Suse and Fedora arms are a minority. I have quite a few devices with arm processors:) More or less I guess what I was saying is that there are different "markets" even in an open system and different projects might be better off focusing more on their "market" rather then trying to stick their hand in every "market" out there.
      Regards,
      Steve

    5. Re:Question by Anonymous Coward · · Score: 0

      How many cell phones do you think are sold every year?

      How many of them are running RedHat?

      Cell phones are not a reason to port most desktop or server code to arm, just as desktops and servers are not a reason to port most cell phone code to x86.

      A lot of desktop/server code is ported to some weird architecture because of some hobbyist running some m68k or some such machine in his basement. I think it's fine to tell that guy he's on his own and you don't want to spend all your time handling his bug reports anymore, and then he gets to decide how important it is to him, instead of cost-shifting everything to you.

    6. Re:Question by supabeast! · · Score: 1

      I'm pretty sure that they're referring to things like OpenBSD on Motorolla 68000 series processors and ancient Sun hardware.

  4. Java? by Lingur · · Score: 2, Funny

    Wasn't Java supposed to solve this problem? I was under the impression that you could run Java apps on any platform (albeit slowly) without worrying about compatability?

    1. Re:Java? by Anonymous Coward · · Score: 5, Funny

      Yeah - Sorry about that, our bad.

      -- Sun Microsystems

    2. Re:Java? by Anonymous Coward · · Score: 5, Funny

      Obligatory Zawinski paraphrase:
      Some people, when confronted with a problem, think "I know, I'll use Java." Now they have two problems.

    3. Re:Java? by I_Human · · Score: 1

      Wish my mod points didn't run out, I'd rate that funny :P

      --
      -JP
    4. Re:Java? by kaffiene · · Score: 3, Insightful

      Java DOES solve that problem. The linux crowd by and large won't use it because it's not quite their flavour of 'free'.

    5. Re:Java? by TuataraShoes · · Score: 2, Interesting

      More specifically, the VIRTUAL MACHINE architecture addresses this problem. The .NET/Mono framework is another stab.

      I suspect that we have not yet seen the VM architecture in its full maturity.

      --
      Surely in vain the net is spread in the sight of any bird -- Proverbs 1:17
    6. Re:Java? by Anonymous Coward · · Score: 0

      What are you smoking, Java isn't available for most platforms.

    7. Re:Java? by dangrover · · Score: 0, Flamebait
      Yeah, it's strange.

      I've never used a Java app that doesn't:
      1. look horrible. Either use completely custom, ugly UI elements, or a bastardized Aqua.
      2. Run incredibly, unusably slow. "What's it doing, and will it ever finish?"
      3. have tons of bugs, even if written by perfectly competant programmers.
      4. Freeze or become unusable randomly. Eclipse is the worst at this -- sometimes it'll freeze and be totally unresponsive, but when I quit it from the dock, it will act all passive agressive and show a dialog box saying it's saving my work, then quit gracefully. The bastard.


      It's weird, because Java seems to be a decent language, even for real application development, just the implementations of the platform can be horrible, especially on the Mac. I don't understand enough of the mechanics to make more specific statements regarding the JVM and bytecode and such, but geez, it can't be that hard.

      As for open source apps, for many mac users, it's not enough for an application to just run. I've complained about custom interfaces before to a PC friend, and he said "Oh, it must be horrible that apps run without an Aqua skin." (missing the point obviously) But it's more than that -- many OS X ports of open source apps are not consistant with themselves, let alone the OS, sometimes handle file operations completely wrong, and, in short, aren't up to the level of quality Mac users expect. I'm not saying the ports shouldn't be made, it's great that it's being done, but it leads to confusion when someone says that something is able to run/work/whatever, and it does it so horribly that it effectively is of no use at all, in the case of some apps.

      I don't mean to sound snotty, but it's like the old joke "how many legs does a dog have if you count the tail as a leg?" / "four. calling a tail a leg doesn't make it a leg."
    8. Re:Java? by dangrover · · Score: 1

      Wow, I sounded really fanboyish. Not the intention. I use all the major platforms, I'm only lamenting the lack of consistancy and usability on Mac ports. Usually the linux or even windows ports of open source apps run wonderfully by comparison.

    9. Re:Java? by sosume · · Score: 1

      Java DOES solve that problem

      So why did Sun drop the phrase "write once, run anywhere"? (pun intended)

      I've seen too many horror scenarios with developers tinkering for weeks getting a java application to work, only to find out that it runs out of the box on another platform..

      IMO, People who disagree with this usually haven't tried much platform porting with Java.

    10. Re:Java? by turgid · · Score: 1

      ...and their isn't much interesting in developing the Free alternatives like gcj, GNU Classpath, Kaffe et. al.

    11. Re:Java? by bani · · Score: 1

      this has nothing to do with java not being 'free'.

      nobody uses java (not just the linux crowd) because java is broken -- sun ensures it stays that way. java bytecode portability is a myth -- too much shit breaks on the different VMs.

      Insightful my ass. Mods on crack again.

    12. Re:Java? by Anonymous Coward · · Score: 0

      yeah, and let's all ignore the fact that Java is 100 times slower than anything else.

      hell compiled python is 10X faster than the best java app

    13. Re:Java? by Cajal · · Score: 2, Informative
      Java is available for:
      • 32-bit Windows
      • 64-bit Windows (as a RC)
      • 32-bit Linux x86
      • 64-bit Linux x86
      • 32-bit Solaris x86
      • 32-bit Solaris SPARC
      • 64-bit Solaris x86
      • 64-bit Solaris SPARC
      • 32-bit AIX POWER
      • 64-bit AIX POWER
      • 31-bit z/OS
      • 64-bit z/OS
      • 32-bit i5/OS POWER
      • 64-bit i5/OS POWER
      • IRIX
      • OpenVMS Alpha
      • OpenVMS IA64
      • Tru64
      • HP-UX PA-RISC
      • HP-UX IA64
      Is that enough platforms for you? No, it doesn't cover everything, but there certainly are a lot there.
    14. Re:Java? by Reverend528 · · Score: 1

      I think there would be less complaints about java not being free if it were free enough to ship with the major distros. But instead of being able to incorporate java into apt or portage, developers and users need to go out of their way to download and install it from sun.

      My distro offers support for C/C++, Perl, Python, Ruby, PHP, Multiple Flavors of Lisp, Erlang, Haskell, Smalltalk, & INTERCAL. When these languages fail to meet my programming needs, I'll go out of my way to install java. Until then, I'm not going to write in a language that will inconvenience users as much as I feel it inconveniences me.

    15. Re:Java? by 99BottlesOfBeerInMyF · · Score: 1

      The linux crowd by and large won't use it because it's not quite their flavour of 'free'.

      You make it sound as if they are making a choice. How about, "the linux crowd seldom uses it because the only full implementation is licensed in such a way that they cannot ship it with Linux so it has to be an additional download?"

    16. Re:Java? by squallbsr · · Score: 1

      And what about the BSDs??? That is the main reason why I do not use Java. It seems as if Sun has given OpenBSD (which I use) and the others the finger.

      I do have to write some code for a college application though...

      --
      Sleep: A completely inadequate substitution for Caffeine.
    17. Re:Java? by synthespian · · Score: 1

      Your list just shows that Java is available for only ONE free platform.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    18. Re:Java? by Cajal · · Score: 1

      That wasn't my point. The parent post said that Java wasn't available for many platforms. I've pretty much shown that that isn't the case.

      If you want to run Java on the BSDs, I believe its possible to run the Linux/x86 version in compatibility mode. Granted, this sucks, but it's something. You might want to look at GNU Classpath, GCJ or Jikes. Between the three of them, you have (most of) the components you'd need for a free JVM + Java standard library.

    19. Re:Java? by metroplex · · Score: 1

      Isn't azureus a good example of a multi-platform java app? I'm not an expert but it looks stable and fast enough for me.

      --
      "Words of wisdom: drop that zero and get with the hero" -- Vanilla Ice
    20. Re:Java? by Anonymous Coward · · Score: 0

      The parent post said that Java wasn't available for many platforms. I've pretty much shown that that isn't the case.

      No, it said that Java isn't available for most platforms, and gave no qualifications whatsoever. You've basically knocked down a straw man.

      Of course the complaint as stated is pretty hard to refute. Does that include niche OS's like QNX? Small, partial platforms, like L4? Out of date platforms, say Commodore 64? Does it exclude systems where the OS costs big money? Nobody knows.

    21. Re:Java? by synthespian · · Score: 1

      Are you serious? How about proposing experimental solutions to the management?

      And a good day to you, sir.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    22. Re:Java? by teromajusa · · Score: 1

      I've seen too many horror scenarios with developers tinkering for weeks getting a java application to work, only to find out that it runs out of the box on another platform..

      They spent weeks looking at a problem before checking to see if its JVM dependent? Hopefully that didn't happen twice to the same team, because thats a pretty dumb mistake. Java doesn't completely solve all platform problems but it solves almost all of them. And dealing with the remainder is a hell of a lot easier than keeping c/c++ code running on multiple platforms.

    23. Re:Java? by teromajusa · · Score: 1

      nobody uses java (not just the linux crowd) because java is broken

      You're premise is incorrect, so there's no point in arguing with your conclusion. Just because you don't see it a lot on your desktop does not mean that Java is not widely used. And a yes, portability is one of the reasons it is used so widely.

    24. Re:Java? by Anonymous Coward · · Score: 0

      SWT/Gtk+ sucks.

    25. Re:Java? by 21chrisp · · Score: 1

      Ever try downloading a major Java app and run it on an unusual platform? It seems like it rarely works right on anything that isn't Sun or M$. I've tried running several Java apps in Linux just to give up in frustration. They ran fine in Windows. I've also tried running several Java apps on OS X with the same results.

      Free or not free has nothing to do with it. It does not seem well tested across platforms. It may "work" but with varying degrees of success. Linux and OS X are much more common than AIX et al and it still is very flakey.

      A few of the best Java apps have worked around this, but they have to work around platform specific bugs.

    26. Re:Java? by Anonymous Coward · · Score: 0

      Check out the ports collection. You can build Java 1.4.2 for OpenBSD, you just need to agree to a click-through agreement to get the source.

      cd /usr/ports/devel/jdk/1.4

      You will need to download both JDK 1.3 and 1.4 for Linux so you can bootstrap the compiler, but after that, you will build a native JDK 1.4 for OpenBSD using the Linux tools.

    27. Re:Java? by Anonymous Coward · · Score: 0

      By the way, by default the JVM will not work as non-root because of the memory limits set in /etc/login.conf. Change /etc/login.conf to allow users to allocate more memory. I have mine set to 256MB. The default is 75MB IIRC.

    28. Re:Java? by Trejkaz · · Score: 1

      Unfortunately, Azureus only runs on platforms where SWT is available, and is only stable and fast on platforms where SWT is stable and fast (i.e., not on Linux.)

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    29. Re:Java? by Trejkaz · · Score: 1

      Yup... the original problem, and the oppressive C++ weenies who are bitter about the fact that a better language was found.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    30. Re:Java? by kaffiene · · Score: 1
      I've seen too many horror scenarios with developers tinkering for weeks getting a java application to work, only to find out that it runs out of the box on another platform.. IMO, People who disagree with this usually haven't tried much platform porting with Java.

      I have had a lot of experience with Java across platforms. I wrote a GUI for a very extensive Oracle database which was developed in Java on Linux and deployed without hitch (and over several generations over many years) on Win32, Linux and Solaris.

      I also recently wrote a Java / OpenGL / networking application which I developed on Win32 in Java and rolled it out without hitch on Mac and Win32.

      I've been doing this kind of development for about eight years now and never once had the kind of "horror scenarios" that you describe. In fact, in my professional career (two decades now) I've never met another developer who has had "horror scenarios" with Java. The only time I hear these stories is on Slashdot. I'm sure that's just, like, completely coincidental thou.

    31. Re:Java? by kaffiene · · Score: 1
      nobody uses java (not just the linux crowd) because java is broken -- sun ensures it stays that way. java bytecode portability is a myth -- too much shit breaks on the different VMs.

      Ladies and gentlemen... I give you... the Slashbot bigot in his natural environment!

      That post is so full of tinfoil-hat FUD that its not worth a serious reply. It would be funny if it weren't for the fact that this kind of clueless crap is so indicative of the ill-informed reactionary bullshit that passes for a clue on Slashdot. I swear, Slashdot is getting stupider with every passing year.

    32. Re:Java? by kaffiene · · Score: 1

      Yeah, I see the point about shipping with Linux distros - that's a fair point. I actually emailed Sun with my personal plea to open source Java for precisely that reason. It doesn't matter to *me* but clearly it's an issue for FOSS. For the same reason, I hope that Harmony does well for Apache.

    33. Re:Java? by kaffiene · · Score: 1

      The fact that some free JVMs arent very good doesn't mean that Java is not portable. A crap free C compiler doesn't prove that C isn't portable, it proves that the compiler is crap.

    34. Re:Java? by kaffiene · · Score: 1
      The original post was "Wasn't Java supposed to solve this problem? I was under the impression that you could run Java apps on any platform (albeit slowly) without worrying about compatability?"

      That was met by the usual /. sarcasm about Java. Forgive me if I'm just a little sick of it - my post probably sounded a little snippy because of that.

      My response was to that - Java *does* solve the issue of running everywhere. And the comment about the Linux flavour of 'free' is quite true. Java is free in many senses - it costs nothing and the source code is available. That's not the sense of 'free' that Linux distros care about, and that's their choice, but it doesn't make my post incorrect.

      You make it sound as if they are making a choice. How about, "the linux crowd seldom uses it because the only full implementation is licensed in such a way that they cannot ship it with Linux so it has to be an additional download?"

      Yeah, but that is exactly a choice that distros make. RH distributes their own proprietary s/w with Linux. They don't dissapear in a puff of logic. I realise that because of the beleifs of the Debian distro, they can't distribute a JVM but again, it ain't Sun stopping them, it's their own choice to adhere to a certain set of restrictions in their distro. What's more, Sun doesn't stop them crafting their very own JVM an releasing that with their distro, again, it's not Sun's fault that they don't.

    35. Re:Java? by 99BottlesOfBeerInMyF · · Score: 1

      Yeah, but that is exactly a choice that distros make. RH distributes their own proprietary s/w with Linux. They don't dissapear in a puff of logic. I realise that because of the beleifs of the Debian distro, they can't distribute a JVM but again, it ain't Sun stopping them, it's their own choice to adhere to a certain set of restrictions in their distro. What's more, Sun doesn't stop them crafting their very own JVM an releasing that with their distro, again, it's not Sun's fault that they don't.

      I agree with you for the most part, but you are anthropomorphizing distros to some degree. They are just collections of software written by different people with disparate goals and beliefs. Some of the organizations built around them include proprietary software and some don't. All of them are understandable hesitant about basing a lot of hard work on something that they have no control over and could just go away, hence the normal attitude towards Java.

      There are a number of free Java distributions, but I don't think any of them are really finished enough to work on a daily basis with the average Java application. I really wish someone would write a really good JVM with easy and granular control of the sandbox. I'd love to be able to run applications that can only access the files it creates or that I specifically allow for example. There are a lot of problems Java could help to solve, but Java also introduces some problems of it's own. I have yet to see a cross-platform Java application that integrates completely with the host OS. I avoid them for the most part because they don't usually work as well. Almost all of them use nonstandard interface elements, and I don't know of any that integrate with system services (on OS X). Many don't respect standard keyboard shortcuts. To me, as they currently stand, Java applications are inferior and I prefer to use native applications. They have potential, but I don't really expect them to ever be my first choice and I'd only choose to develop a cross-platform Java app if I really needed it to be cross-platform. For an application that I plan to use for myself I want it to work properly with my main OS, as do most open source developers, which is probably why Java development has not really taken off as much as it could.

    36. Re:Java? by Anonymous Coward · · Score: 0

      Who cares if it is free or not?

      Java is damn slow... Interpretation of the bytecote is a highly serial task... As a result, superscalar processors don't execute highly (instruction-paralell) java programs well.

      MOD PARENT DOWN.

  5. Debian by 3770 · · Score: 2, Insightful


    I'm a fan of Debian, but I think that Debians effort to support the myriad of architectures out there is hurting it.

    It does a great service to the rest of the Linux community though, because it helps keep things portable.

    But having a requirement that something work on a large number of platforms slows down the release cycle.

    --
    The Internet is full. Go Away!!!
    1. Re:Debian by MourningBlade · · Score: 1

      With the software that I've made work across platforms, the issue usually isn't hardware as much as software environment.

      Aside from endian-ness, the usual issue is either an out-of-date library, a completely screwy compiler/libc, library location fun, different headers/#DEFINE's, etc.

      Because of this, usually if it works on x86 Debian, it'll work on the rest. The major exceptions are anything dealing with hardware, such as X11; however, while many programs may depend on X11, they do not suffer the same issues, so once X11 works, they do too.

      The worst (unix-like) platforms to port to (on the whole) are the proprietary unices, as they tend to have the most screwy stuff going on. You can spend days with autoconf adding tests for this or that or the other condition. FreeBSD compatibility, on the other hand, usually isn't bad.

    2. Re:Debian by dvdeug · · Score: 1

      I'm a fan of Debian, but I think that Debians effort to support the myriad of architectures out there is hurting it.

      There is a lot of arguement about that on the Debian lists recently. I saw no evidence that in the analogous cases to AIX in GCC, that it was causing any problems. That is, the architectures that have enough porters and patchers and enough fast machines to keep Debian compiled haven't been a problem.

      The systems that have a hard time keeping enough build machines running or any live build machines at all, and had no one to work on kernel and build-disk problems are the ones that caused many of Debian's problems. GCC users of slow machines and poorly maintained architecture code tend to get left behind, from what I've seen. (There is a lot of complaint from the users of the slow machines; GCC 4.0 is something like 30x slower than GCC 1.something.)

  6. The OpenBSD project doesn't seem to agree. by EbNo · · Score: 5, Insightful

    There are many instances where OpenBSD developers indicated that a bug found in one port led to discovery of problems that affected several other platforms. It seems in this case that multiplatform support is beneficial, and the larger the number of platforms, the greater the likelihood that such bugs will be found and fixed.

    1. Re:The OpenBSD project doesn't seem to agree. by Anonymous Coward · · Score: 0

      Amen. Ulrich Drepper is insane, for a number of reasons. But this article really highlights it. "Dictatorship of the Minorities" my ass. Just because Debian can't get its shit together...

    2. Re:The OpenBSD project doesn't seem to agree. by quelrods · · Score: 4, Insightful

      I was about to make a similar remark but thank you for stating it! While some code may "work" in one place this by no means makes it bug free. There are many instances of bad code working but sheer luck and only under a specific arch/platform. By ensuring code works under multiple architectures you will help eradicate bugs that may be exploitable. For example when a program seg faults repeatadly under OpenBSD I know that the program in question is not managing memory correctly. (OpenBSD with its memory protection refuses to allow reads/writes to illegal addresses that on other platforms could have resulted in exploitable holes.) While I have written many a fix for such programs it is nice to easily identify which programs/developers have a clue and which do not.

      --
      :(){ :|:&};:
    3. Re:The OpenBSD project doesn't seem to agree. by AaronW · · Score: 3, Insightful

      I have found this to be the case numerous times when working on KDE for Solaris. I've found numerous bugs, a few endian specific that were not specific to just Solaris. Supporting multiple similar platforms can be a good thing in terms of finding bugs. Some bugs will show up much more frequently on different platforms due to differences in things like memory managers or even how some APIs are implemented.

      --
      This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
    4. Re:The OpenBSD project doesn't seem to agree. by Anonymous Coward · · Score: 0

      - I seem to remember INTEL was caused to Blush when the P4 couldn't compile the Linux kernel. There's No Question multiplatform testing is a benefit.

    5. Re:The OpenBSD project doesn't seem to agree. by Arker · · Score: 4, Insightful

      Indeed.

      Now, to be fair, I have to concede the man does have a point. Supporting several configuration options and several platforms increases complexity, if your goal is simply to get the thing running and marketable.

      At the same time, though, dealing with that increased complexity can give a project the impetus it needs to clean up spaghetti code that 'just runs' and replace it with more auditable and correct code, which is really a gain in the long run. Assuming, of course, your goal is to write good software - not just to write 'good enough' software and get it out the door in line with a deadline from marketing.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    6. Re:The OpenBSD project doesn't seem to agree. by Seumas · · Score: 2, Interesting

      Well, by his logic, you should only develop for Microsoft, because Unix/Linux/Mac and everything else has only a minor overall deployment rate.

      Just sounds to me like someone's a little greedy, because it only hampers the main platform (if it even does that). But, in the process, it raises these other platforms. This gives more variety, choice, options... all really obvious things.

    7. Re:The OpenBSD project doesn't seem to agree. by homer_ca · · Score: 1

      Maybe you mean the Tom's Hardware test of the P-III Coppermine 1.13GHz? GCC would error out with signal 11 when compiling the Linux kernel. That's a sure sign of an overclocked CPU pushed past its limits of stability. Intel cancelled the 1.13GHz Coppermine after that.

    8. Re:The OpenBSD project doesn't seem to agree. by RenoRelife · · Score: 1

      I agree. Writing code that works on many platforms allows you to make sure your code is solid. Sounds to me like Ulrich has been corrupted by the business mindset. He'd rather have quick updates then good ones. Like everyone else has said: Just because you don't catch the bug doesn't mean it's not there. I knew OpenBSD would come up before long. It seems like one of the last pure strongholds for the OSS community. RedHat has began to adopt the Microsoft outlook (har-har) on software development. As long as nobody knows about it, it's not a bug. So forget it and move on. Written on OpenBSD.

    9. Re:The OpenBSD project doesn't seem to agree. by Triumph+The+Insult+C · · Score: 1

      Now, to be fair, I have to concede the man does have a point. Supporting several configuration options and several platforms increases complexity, if your goal is simply to get the thing running and marketable.

      I don't buy that. OpenBSD releases a new version every six months. Each CD set carries install sets for 6 hardware platforms. And then there are the 8 other platforms which one can install via FTP. And then there are the packages that are built, and the snapshots that, for some platforms, are built and distributed multiple times per week.

      If anything, I think supporting multiple hardware platforms decreases complexity because it forces the programmer to program wisely, cleanly, and portably.

      --
      vodka, straight up, thank you!
    10. Re:The OpenBSD project doesn't seem to agree. by Arker · · Score: 1

      I believe that's what I said. ;)

      OpenBSD does this, not because it makes things simpler - but because (among other reasons) it helps them make sure they have simplified things. Similar concepts in a way, but also very different.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    11. Re:The OpenBSD project doesn't seem to agree. by Anonymous Coward · · Score: 0
      Ok, but does the time saved in finding that bug justify the time spent porting to another architecture. One could instead allocate the time spent porting to analyzing the code and possibly find more bugs.

      Listing a single benefit for one approach that doesn't exist for the other approach does not mean that the first approach is necessarily better overall.

      (Note: I'm not taking sides; I just want to clarify what statement you're really making.)

    12. Re:The OpenBSD project doesn't seem to agree. by mnmn · · Score: 1

      Thats right. Portability ensures correctness of code. Thats why WindowsNT was released for 3 platforms, to ensure the code's bugs are ironed out faster (didnt work there much eh?)

      Think of gcc and glibc. We get tonnes of issues from all sorts of ports. After they're fixed, the code is really clean. Maybe thats a bad example since they also handle lots of exceptions, but its more true for the likes of X, apache, mozilla, KDE and such.

      The same can be said of source code. If it can be compiled by multiple compilers, its true C99 (or something), otherwise if it depends on compiler specific hacks, it wont compile on other compilers, or some compiler will dump errors that others wont.

      If you were a graphics card manufacturer, would you just plug it into a development board, and if it works, sell it? Or would you have a slew of systems to test and benchmark the card in before releasing it to the market?

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  7. By that logic by Anonymous Coward · · Score: 1, Insightful

    Software developers should only develop for Windows, because supporting Linux/Mac/BSD is diverting resources away from the (vast) majority of users.

    PS: These graphic word things are nearly unreadable!

    1. Re:By that logic by Anonymous Coward · · Score: 0

      PPS: What the hell are you talking about, I post regularily and haven't seen one yet.

  8. Re:Let's extrapolate, shall we? by superpulpsicle · · Score: 1

    In the mid 90s Redhat was a minority platform, where as slackware was more mainstream linux. That was until $$$ change things up.

  9. OpenOffice is a Gateway Drug... by Chordonblue · · Score: 4, Insightful

    I'm not sure I totally agree with this article - at least as far as Windows porting is concerned. Programs like OOo are gaining acceptance in the Windows world and that foothold has led my own organization to 'embrace and extend' that success. For instance, for the first time we will be purchasing Apples - running NeoOffice of course - and we already have a few Linux terminals here for public use.

    I like to think of OSS/GPL stuff as a 'gateway drug' - to use an analogy. Using it may not automatically make people go to Linux, but it certainly makes it an increasing possibility.

    --
    "...Well, there's egg and bacon; egg sausage and bacon; egg and spam; egg bacon and spam; egg bacon sausage and spam..."
    1. Re:OpenOffice is a Gateway Drug... by quelrods · · Score: 3, Insightful

      I completely agree that OSS propogates through the gateway drug phenomenom. Originally everyone tried the RMS 100% free approach but that lead to no acceptance outside of the geeks. As programs like firefox, gaim, OO, etc. become popular on windows we erode the closed source based until familiarity with OSS apps makes the switch of the underlying OS trivial and unoticable.

      --
      :(){ :|:&};:
    2. Re:OpenOffice is a Gateway Drug... by digidave · · Score: 1

      Not exactly a "minor" platform there now, is it?

      --
      The global economy is a great thing until you feel it locally.
    3. Re:OpenOffice is a Gateway Drug... by Metzli · · Score: 1

      I fully agree. I've convinced a number of people at the office (Windows server admins) to try Firefox and, as they've discovered that FOSS isn't an evil, some have started tinkering with Linux on spare desktops. I understand why people don't want to support every architecture, but it still seems like a good idea to support more than one or two.

      Personally, I also find it extremely handy that my tools at home can be used in my Windows-only workplace. It's immeasurably helpful that I can run Firefox, OpenOffice, Ethereal, TCPDump/WinDump, etc. on my varied home boxes (Solaris, OS X, Linux, *BSD, etc.) and my work XP box.

      --
      "It's too bad stupidity isn't painful." - A. S. LaVey
    4. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0

      This is an incorrect analysis. StarOffice ran on Windows a decade before it was ported to Linux, and Firefox was chartered to be the "best Windows browser" or something. It could well be that OSS is butressing the Windows desktop monopoly by providing high-quality software for the platform. Developers Developers Developers.

    5. Re:OpenOffice is a Gateway Drug... by Bastian · · Score: 1

      Agreed. I'm willing to accept that all of this porting slows down development on many FOSS projects from a technical standpoint, but I'm not into FOSS for technical reasons. I'm into it because I got fed up with the entire culture of the corporate software world, and the oftentimes immoral nature of many large software manufacturers.

      While in the long run I'd love to see more truly open platforms become large players in the market, in the short run I'm much more interested in seeing the community continue to erode away at the stranglehold that Office and IE have on the office and browser markets.

      Besides, if Firefox doesn't manage to gain enough market share to break Microsoft's lock on the future of the Web, Linux is doomed.

    6. Re:OpenOffice is a Gateway Drug... by frizzbit · · Score: 1

      His point, though, is about minor platforms. Love it or hate it, Windows does not fall into that category.

    7. Re:OpenOffice is a Gateway Drug... by Vorondil28 · · Score: 1

      I agree. A prime example is Gaim, and it too could be considered a 'gateway drug' to F/OSS. ;)

      Now, I don't want to speak for the Gaim devs on this, but IMO, porting it to Win32 has little, if any, effect on it's development. Correct me if I'm wrong, but the main devs and patch writers put it all together and when it comes to release time, one guy compiles WinGaim and works out any Win32-specific bugs as needed. Given, the Windows port can be two or three days later than the *nix release, but as for the progress of the project overall, it certainly doesn't "slow down development and testing."

      For more on who-does-what in the Gaim project, go here.

      --
      This sig rocks the casbah.
    8. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0
      For instance, for the first time we will be purchasing Apples - running NeoOffice of course

      Why run NeoOffice when Microsoft Office 2004 for Mac is available? I considered OpenOffice when I got a Mac but I quickly decided I needed the document compatibility of native Office for my work projects. It may be fine for reading documents, but in the past OpenOffice has done quite a job at mangling our company's documents to the point where I actually got yelled at once for fucking it up so badly they had to revert to a saved copy.

    9. Re:OpenOffice is a Gateway Drug... by Zontar+The+Mindless · · Score: 1

      > I like to think of OSS/GPL stuff as a 'gateway
      > drug' - to use an analogy. Using it may not
      > automatically make people go to Linux, but it
      > certainly makes it an increasing possibility.

      It worked for me. I used to be a Windows user. Then I fot started with Mozilla. Then switching from ASP to PHP. Then MySQL. Then it was Gaim. Then OO.org. Then Apache. Then Cygwin. Then... Finally, it got to the point where I was asking myself, "WTF am I doing running this stuff on Windows, anyway?"

      Now I use Linux most of the time, tinker with FreeBSD, and am trying to decide whether or not I need that token Windows machine anymore.

      Re TFA: I think the author has a point, but he doesn't state it very well, and he's (obviously) not thinking about some things.

      --
      Il n'y a pas de Planet B.
    10. Re:OpenOffice is a Gateway Drug... by Grishnakh · · Score: 1

      It could well be that OSS is butressing the Windows desktop monopoly by providing high-quality software for the platform.

      I disagree. While it might make a few people avoid a total switchover to OSS platforms, for the vast majority of cases, I believe having high-quality OSS apps available for Windows increases the number of people who switch. It's easier to convince people to make a major change if they're allowed to do it in small steps, rather than having to jump in whole-hog. As many people here have noted, they've convinced associates and acquaintances who knew nothing about OSS to try out OpenOffice and Firefox, plus it's made it easy for people to use the same applications on their Windows boxes at work and their Linux boxes at home.

    11. Re:OpenOffice is a Gateway Drug... by rob_squared · · Score: 2, Interesting

      I tried linux, backed away once. I tried firefox and thunderbird and loved them. I know use Mepis with firefox/abiword/thunderbird because I became comfortable with them. It's a "taste" that gets you. Why do you think they give free samples of cheese at supermarkets?

      --
      I don't get it.
    12. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 1, Interesting

      I got into OSS as a consumer because, while a lifelong Windoze luser, I was also broke. I must have tried just about anything they gave away for free if there wasn't a download.com message board that said it made your mobo burst into flames. Over time, I noticed that I got all my best stuff from sourceforge.net and stopped going anywhere else.

      When my wife told that her company's thrift store could set me up with a PII 300 Mhz for $20, my eyes lit up, because by then I knew that OSS had an OS up to the job of making that old clunker the same usefool tool it was when it was put together. After actually getting my Bittorrent/FTP server running (and skirting a nasty argument with the wife about P2P on her/our machine), I know there's no way I'm going to get another machine that puts money into Micros**t's hands.

      If keeping Xine or XMMS running on Win32 slows them down, screw it! Media Player Classic has saved me the evils of Real Player and WMP, and confirmed for me with personal experience what everyone says about OSS. I don't need to be enticed with keeping it when I run my real OS on a real computer, the point's been made. As far as Windows (not Cygwin or Mingw, I'm not throwing my ignorance around in that debate) is concerned, you can say the port should be its own project, and there's a lot we won't be left out on.

    13. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0

      If keeping Xine or XMMS running on Win32 slows them down, No, wait, they don't run on it. Pretend I came up with a relevant example :)

    14. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0

      The conversion stories you read on slashdot are largely delusional.

    15. Re:OpenOffice is a Gateway Drug... by _Sprocket_ · · Score: 1

      Care to point out what is delusional about these stories? Don't get me wrong - you might have a point I can agree on. Switching over platforms isn't always easy. But I've done it. I hope you're not impying the ability to convert is fantasy?

    16. Re:OpenOffice is a Gateway Drug... by revscat · · Score: 1
      I went the same route you did but switched from Linux to OS X once the latter hit 10.3. I got tired of the tinkering necessary to keep the machine at a point where it was actually usable. I have nothing for respect for the various Linux distros and the BSD community, but the need to screw with the innards is something that just failed to interest me after a while.

      For me, Windows machines are nothing more than gaming boxes. If you want HL2, there's no other choice. But for real work and day-to-day use, I prefer OS X.

    17. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0

      The entire premise that someone would switch OSes because they like Firefox or OO on Windows is delusional, and anyone who states this is happening is deluded. Sure the existance of these apps might ease an organizational migration, but wanting to switch OSes is a lot more complicated than a couple apps that happen to be both cross-platform and decent Windows programs.

    18. Re:OpenOffice is a Gateway Drug... by ryanov · · Score: 1

      Why run Microsoft Office 2004 I think is the better question (that you have attempted to answer in your post, but I don't think all other users would agree)? The whole point is that the poster was avoiding M$.

    19. Re:OpenOffice is a Gateway Drug... by Infernal+Device · · Score: 1

      I'd rethink that a bit, if I were you. Resurrecting the "Just Say No To Drugs" campaign at this point in history might have more bite than you want. Remember, the people in charge are not the best zookeepers in the world.

      --
      "My God...it's full of trolls!"
    20. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0

      Hrm funny that I got my gf to switch to firefox and literally a month later she was asking that I get her setup with linux. Honestly I dreaded this moment and had no desire to move her off windows and yet she REQUESTED it and I eventually gave in. So, how is Debian gnu/linux treating her you ask? She couldn't be happier and is excited that gnome comes with lots of games that she never had in windows. Further, she learned apt-cache/apt-get in about 10minutes and wished something like that existed for windows!

    21. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0

      I only use iPod, OS X is too hard for me. One clickwheel is enough. And it's UNIX based.

    22. Re:OpenOffice is a Gateway Drug... by Zontar+The+Mindless · · Score: 1

      Well, I use SuSE on my desktop/work machine, so I've had to do very little tinkering. FreeBSD and Solaris are another story, those are mostly hobby boxes for now, but I learn a little something every time I use them. ;)

      I'm not a gamer... OTOH, Windows is one of the (many) platforms that my employer's flagship product supports, so I guess I'll keep it around. But the only things I run on that box anymore are Apache, PHP, MySQL, ActivePython, ActivePerl, and a good text editor.

      OS X looks pretty cool from what I've seen of it, One of these days I'll probably get a Mac to add to the stable, since the company supports it as well.

      --
      Il n'y a pas de Planet B.
    23. Re:OpenOffice is a Gateway Drug... by Anonymous Coward · · Score: 0

      Delusions. I'd love to hear her side of the story.

    24. Re:OpenOffice is a Gateway Drug... by Per+Abrahamsen · · Score: 1

      > Why run NeoOffice when Microsoft Office 2004 for Mac is available?

      Because NeoOffice has much better compability with OpenOffice, which is the standard office package used by his company.

      Why would you pay more for a less compatible product?

    25. Re:OpenOffice is a Gateway Drug... by rsheridan6 · · Score: 1
      Setting up Debian unstable was a pain in the ass, but having suffered through that a year and a half ago, it's been mostly trouble free. Every week or so I use apt-get to upgrade packages I really care about, and every several months I run apt-get dist-upgrade to upgrade everything. That's all the maintenance I do, and it probably amounts to 15 minutes/week. My uptime is now 80 days, and that's because of a power outage.

      I set up Ubuntu for my mom, and it seems to be easier. The printer just worked, which was a first for any Linux distro in my experience. It's such a resource hog (it uses Gnome) that I still had to fuss with it to make it usable on her 7 year old, low-end when it was new, eMachines piece of crap (got rid of all the gnome crap and installed icewm, xdm, etc), but I think it would "just work" on a decent computer made in the last 5 years. And maintenance has been trouble-free like debian.

      --
      Don't drop the soap, Tommy!
    26. Re:OpenOffice is a Gateway Drug... by Sique · · Score: 1
      Originally everyone tried the RMS 100% free approach but that lead to no acceptance outside of the geeks.


      Which RMS 100% free approach? RMS's approach was always to subsequently replace every program necessary to run a computer by a free equivalent. So 100% free was the goal far away on the horizon, and until then it was meant to replace proprietary software part by part.

      It's exactly the same approach you are proposing: Make the environment to the user consisting of more and more free software, until the underlying operating system can be replaced without looking back. Why do you think the long time goal was to create a complete free tool chain first (editor, compiler, linker, shell...) and then with those tools create more software and finally an operating system? Because the working environment should be free first, so the code creating the futural software was not tainted by proprietary parts.

      Of course this approach was "for geeks" first, because the GNU tool chain is more often used by sysadmins and developers (typical geek ecology) than by normal users. Now the tool chain is completed, and at least one operating system is completely GNU licensed, and the programs for other people are coming in.
      --
      .sig: Sique *sigh*
  10. Both sides are right, I think. by Dancin_Santa · · Score: 3, Insightful

    First off, everyone will complain about this. The thinking goes that Open Source == Freedom, so the more choice in platforms you have, the more Freedom you have and thusly you actually help Open Source more.

    I think this is incorrect.

    First off, Open Source, despite its close engagement with Freedom ought to also stand for what is best in the Software Engineering world. This means clean, lightweight, portable code. For better or worse there is a standard which is POSIX. Linux, to the extent that it uses the GNU system, is basically POSIX-compliant. Open Source projects ought to target POSIX and keep themselves free of proprietary entanglements.

    This can be achieved by focusing efforts on programming for Linux, the premier Open Source operating system. Only by keeping the code clean can a project be easily ported, but a project that isn't even near completion ought not be ported at all. Such non-mainline work results in incompatibilities and divergences from the main trunk of code that cannot be easily fixed down the road.

    A very good example is the Symbian/Nokia gcc compiler which has many special extensions and cannot be used to compile for any other targets or operating systems. Well, they are doing away with their special version of the compiler and finally going back to the main line gcc tree. Unfortunately, all that work to specialize gcc for their platform is tossed out the window now. Work to no avail, essentially.

    The key here is not to focus on Linux, specifically. Rather, it is to focus on a standard and program to that. That Linux is one of the best of the standard bearers, it makes sense to complete programming there first rather than start porting to esoteric platforms right away.

    1. Re:Both sides are right, I think. by martin-boundary · · Score: 1
      It's ridiculous to think that platform specific code has to be tossed out. GCC has plenty of platform specific extension switches, shy can't the version you mention (symbian/nokia?) use the same framework and add its own switches?

      On the wider problem of portability, the techniques for ensuring that platform specific code doesn't interfere are also well known. Pick up any long standing GNU application, and you'll find tons of neatly organized platform specific techniques you can use on your own projects.

      However, these things require programmers with porting experience, and your app has to be factored correctly. Which is why porting from the beginning is a good idea - it's much easier to refactor a small app than a big app, and grappling with platform differences helps design.

      As in everything, good programmers produce good code, and crap programmers produce spaghetti code, but there's nothing inherently impossible about portability.

    2. Re:Both sides are right, I think. by Anonymous Coward · · Score: 0

      Wouldn't one side be the left side?

    3. Re:Both sides are right, I think. by justins · · Score: 1
      First off, Open Source, despite its close engagement with Freedom ought to also stand for what is best in the Software Engineering world.

      Yeah, that has worked out so well for HURD.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    4. Re:Both sides are right, I think. by mrchaotica · · Score: 1

      I think the point is that if you're choosing between writing a quick platform-specific hack and taking a little longer to write in a standards-based way, it makes more sense in the long run to write to standards. For example, It's better to have a slightly less optimally-designed function written in ANSI C, than to have sixteen different versions written in assembly.

      There's always exceptions, of course; if somebody wrote code for Firefox to support OS X Services, it would obviously be platform-specific because there's no analogous function on other systems.

      I think the best idea is to write for standards-compliance, not cross-platformness. In other words, instead of saying "I'm going to make this work on Linux, BSD, and Solaris," say "I'm going to make this work on POSIX systems running X windows." To achive that, it might be a good idea to test on several systems and fix a single body of code to work on all of them only if you can do it without platform-specific switches.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    5. Re:Both sides are right, I think. by Smallpond · · Score: 2, Interesting

      That's what this whole argument is about. To incorporate the platform-specific switches in the main gcc code, for example, would slow down every future gcc release to test on symbian/nokia. The alternative is to keep gcc simple(r) and let the minor platform (symbian in this case) use their own branch. There's something to be said for either approach.

      If you slow down development to cover a broader set of platforms then you will be late with the latest new buzzword features (hyperthreaded keyboard support!). On the other hand, who gets to decide what counts as a minor platform? Do you decide based on age? (sorry, Amiga is too old) or based on number of units? (sorry, not enough IBM mainframes out there) or just interest level of the developers? Anything that you abandon is going to cause big problems to someone.

    6. Re:Both sides are right, I think. by slipstick · · Score: 1

      "...or just interest level of the developers?"

      Actually I think you just hit that nail on the head. This is the only criteria that should be used to determine support. Why? Because if there are enough interested developers they will do the work necessary for the survival of their platform. There is of course one caveat to that which really boils down to "if there are enough devoted developers". You can have a small number of developers who do amazing work to keep their platform viable or a large number doing smaller amounts of work. Either way it can amount to the same and the majority isn't "inconvenienced" unnecessarily.

      --
      Sure information wants to be free, but how much are you willing to pay for the packaging?
    7. Re:Both sides are right, I think. by Anonymous Coward · · Score: 0

      First off, Open Source, despite its close engagement with Freedom ought to also stand for what is best in the Software Engineering world. This means clean, lightweight, portable code.

      That's not going to happen. You need an architect and structure to build a cathedral, it won't spontaneously sprout out of a bazaar. Some open source projects will have a beautiful, simple design, but they'll be small and have a tiny group of lead developers that guard the code like hawks. Most will instead be run by those in the larger part of the bell curve, or be less guarded and end up as a patchwork quilt.

      Is this any different from closed source projects? Probably, but it's far from black and white. Why would there be a difference? The best programmers are probably better at programming than anything else. As such, that's probably how they earn a living. Mind you, they're hamstrung by budgets and marketing departments, but they still have a lot more time to devote than college students and after-work amatuers.

      That Linux is one of the best of the standard bearers, it makes sense to complete programming there first rather than start porting to esoteric platforms right away.

      I'm not so sure about that. Going for a standard is great, if there is a standard. If there isn't, it's often better to find a few extremes and code for them all. If you cover the extremes, you get the middle for free.

    8. Re:Both sides are right, I think. by Brandybuck · · Score: 1

      Let me see if I got this straight. You think that democracy is helped when there are fewer candidates, and freedom of speech when there are fewer microphones?

      --
      Don't blame me, I didn't vote for either of them!
    9. Re:Both sides are right, I think. by MidnightBrewer · · Score: 1

      I appreciate that you're trying to represent both sides, but I find your statement a little bit self-contradictory. For example, you say that in order to be compliant, efforts should be focused on programming for Linux, but that you should not focus on Linux specifically. So which is it?

      Also, you say that you should keep a project's code clean so that it can be easily ported, but that you shouldn't port a project that isn't near completion so that you don't get incompatibilities. If the code is kept clean as you have suggested and the port focuses on that same criterium, then won't incompatibilities be avoided by default?

      --
      "Give a man fire, and he'll be warm for a day; set a man on fire, and he'll be warm for the rest of his life
    10. Re:Both sides are right, I think. by Dancin_Santa · · Score: 1

      Where's the contradiction?

      Target the standard. Linux is the standard bearer, so target it.

      Keep the code clean and standards-compliant. Don't start trying to perform ports until the project itself (the original code targetted at a specific platform) is stabilized.

      Yes, hopefully incompatibilities will be avoided by default. In addition, by focusing energy into the primary trunk first, features get completed and the project is ready earlier. When time to port, the port won't require constant syncing because of ongoing feature additions to the main trunk.

    11. Re:Both sides are right, I think. by MidnightBrewer · · Score: 1

      Okay, thank you for the clarification. The previous comment seemed a bit ambiguous is all.

      --
      "Give a man fire, and he'll be warm for a day; set a man on fire, and he'll be warm for the rest of his life
    12. Re:Both sides are right, I think. by Anonymous Coward · · Score: 0

      a project that isn't even near completion ought not be ported at all.

      A project that isn't even near completion needs all the developers it can get. By discouraging porting, developers on other platforms can choose a) not to help, b) switch platforms just to help you (yeah right!), or c) fork your project.

      A very good example is the Symbian/Nokia gcc compiler which has many special extensions and cannot be used to compile for any other targets or operating systems. Well, they are doing away with their special version of the compiler and finally going back to the main line gcc tree. Unfortunately, all that work to specialize gcc for their platform is tossed out the window now. Work to no avail, essentially.

      That's a counterexample to your argument. It's an argument against forking for additional platforms, which is one consequence of what you advocate. It is not an argument against supporting multiple platforms in the main codebase.

  11. NetBSD? by Bananatree3 · · Score: 4, Interesting

    The development of netBSD to over 40 different platforms has brought a lot of good development to many different platforms that would have been dominated by mono-operating systems. A good instance is the handheld devices platforms (HPC,Palm PC, etc.), which would otherwise be dominated by Windows CE (except for the few Linux Palm PC's, but majority are WinCE). The development of netBSD for the majority of platforms has reached great maturity, and it is still developing well.

    1. Re:NetBSD? by Anonymous Coward · · Score: 0

      most of those ports are barely functional...

    2. Re:NetBSD? by smittyoneeach · · Score: 1

      What's with the anti-functional bias? I a platform has emacs, does it really need anything else?

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    3. Re:NetBSD? by Anonymous Coward · · Score: 0

      A full size keyboard? GIMP?

    4. Re:NetBSD? by Anonymous Coward · · Score: 0

      If you can even do that. Many of the ports are "I got it to boot over a serial cable once 8 years ago, and then init segfaulted."

  12. Try a VM by alext · · Score: 1, Insightful

    A proper engineered solution to this problem was developed some time ago: a VM.

    There are 1000s of Java projects on SourceForge that will never have this problem.

    1. Re:Try a VM by Anonymous Coward · · Score: 0

      Until you try and run your application on a a system that doesn't have a Java VM. Not to mention the Swing incompatibilities even between Windows, Solaris, Linux and OS X (which, by the way, are the only systems with full Java compliance). And only x86, Sparc, and PPC hardware for that matter.

      This is about way more than that. He's talking about stuff like Arm, Alpha, MIPS, VAX. OpenVMS, Acorn, AmigaOS, SkyOS. You know, the stuff they don't sell at Best Buy or even New Egg.

    2. Re:Try a VM by mellon · · Score: 4, Insightful

      Spoken like someone who's probably never tried running their JVM-based GUI application on a new platform. Java cross-platform compatibility is a nice idea in theory, but in practice you wind up having to test everywhere and tweak your code when you run into differences in GUI implementations, so it's definitely not write-once, run everywhere. A more complete API specification would help here, but if wishes were horses, there'd be a lot of poo on the road.

    3. Re:Try a VM by quelrods · · Score: 2, Insightful

      Except that java is one of the most non-portable solutions ever. Sun java runs on exactly: windows x86, windows ia64, linux x86, linux ia64, solaris sparc32, and solaris sparc64. Some decently written C code easily runs on more systems that that while only requiring a compile. Java is only in theory portable. Unless sun opens the jvm it will never be fully portable.

      --
      :(){ :|:&};:
    4. Re:Try a VM by Rich0 · · Score: 2, Informative

      Clearly you aren't running on amd64. I've given up on running just about anything other than helloworld.java on this platform, using any JDK I can get my hand on (both Blackdown and Sun, stable and beta versions).

      A VM is just another architechture. In theory we could just write everything for x86 and then run emulators on every other platform, and it would be about the same thing.

      The problem is that Java works great as long as you only run it on an x86, or maybe a sparc or a mac. And java apps have their downsides as well.

    5. Re:Try a VM by smittyoneeach · · Score: 1

      What about GCJ?

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    6. Re:Try a VM by Ratbert42 · · Score: 1
      In the real world the Java platform is just as complicated as any other. We have plenty of Java apps that need to be tweaked for the different app servers and VMs they run on. The only things Java really buys us over C++ is:
      • some better stability given the same mediocre programming skill level
      • don't have to wrestle with 8 different compiler and linkers
      • only have to compile and package a single package for all the platforms (realistically, we have 3 different Java packages per release)
    7. Re:Try a VM by Anonymous Coward · · Score: 0

      There are likewise thousands of Lisp projects that will never have this problem, but there are both Java and Lisp projects that have compatibility problems anyway. Note that this assumes that the VM is a correct solution to this problem. I personally don't think it is although it is a very pretty solution with some extremely interesting results that have come out of them (like HP's Dynamo).

      There are many C programs that don't have any trouble running on multiple platforms (and that's without getting into platform specific #ifdefs, which are one of the ugliest programming constructs there can be), and they don't have any performance issues, either. C didn't become a form of premature optimization just because Java got invented.

      Java has merits, but I don't believe it's going to be here at the finish line. The biggest thing going for it now is the number of pointy-haired bosses that know about its claims. This has pushed development of Java into places that a lot of people didn't believe it'd go (performancewise).

      At the end of the day, Java can't compete with projects done like QT. QT is written damned well, is very cross platform, and gets faster and lighter with every release. At a certain point, Java won't be able to get faster and lighter, and that is why it'll die. You can optimize your Java program down to its skivvies, but you're still bound by the VM. When your Java program is as perfect as you can make it, you'll still have the Java VM multiplying the number of function calls by thousands of times. A program without a VM will have that advantage over anything written in Java.

    8. Re:Try a VM by mrchaotica · · Score: 3, Insightful

      No kidding. Lots of Swing Java apps (as opposed to Cocoa Java ones) are horrible on the Mac because they fail to make it act reasonably like a Mac app, whether it uses the Mac "look and feel" or not (not to mention that sometimes they're hardcoded to Java- or GTK-style so they look horrible too).

      This isn't an issue limited to Mac OS, by the way -- Java programmers ought to take the differences between GTK and Windows into account, too.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    9. Re:Try a VM by AndyL · · Score: 3, Informative

      A quick glance at a changelog for a Java project, such as Azureus ,shows all sorts of "compatability fixes". Not just for compatability across diferent OSes, but also for compatability across diferent versions of the VM that's supposed to solve everyone's problems.

    10. Re:Try a VM by MilesParker · · Score: 1

      Huh? I run on Opterons all day long and have not run into a problem at all -- never even had to think about it actually. These are apps that are tens of thousands of lines long.
      So I am wondering how or why you would make a such a statemnet -- how about some details? What things "more complicated than HellowWorld" have you tried that haven't worked?

    11. Re:Try a VM by kaffiene · · Score: 1

      As someone who has developed many cross platform GUI apps in java, I can tell you that my experience has been quite the opposite.

      I have NEVER had platform specific bugs, and I've always had write-once-run-anywhere

    12. Re:Try a VM by kaffiene · · Score: 1

      That's NOT a portability issue, that's a look and feel issue. That DOESN'T negate write-once, run-anywhere.

    13. Re:Try a VM by Lehk228 · · Score: 1

      the point of java is not portability, but rather binary compatability, a compiled java app can be run on multiple platforms without being recompiled

      --
      Snowden and Manning are heroes.
    14. Re:Try a VM by mrchaotica · · Score: 1

      That depends on how you try to solve the problem. If you "solve" it by making two completely different interfaces (say, a Swing one and a Cocoa one), it becomes a portability issue.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    15. Re:Try a VM by kaffiene · · Score: 1

      If you are trying to write code to target a specific look & feel on mac then obviously that code is going to be non portable. If I use Java to write a Win32 console application (which I have done) I don't then go and complain that Java is non portable because the code doesn't run on Macs!

      Only generic Java code can be portable. It should be obvious that writing to a specific interface on a specfic platform is not going to be portable.

    16. Re:Try a VM by Anonymous Coward · · Score: 0

      SkyOS

      Syllable. Who actually use Glibc, but currently maintain their own port which is largly in sync with Glibc CVS.

    17. Re:Try a VM by donscarletti · · Score: 1

      I do hate java too, but in their defence, it does work quite well on my linux x86-64 system (native 64 bit).

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    18. Re:Try a VM by donscarletti · · Score: 1

      It works for me. I use java quite a bit on my amd64 system (not by choice) and it works quite nicely. What are you trying to run?

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    19. Re:Try a VM by Rich0 · · Score: 1

      Try freenet, or eclipse, or gallery remote (which isn't nearly as large).

      While they sometimes run, the VM will segfault frequently. Also, you often end up with one app which might work with Blackdown, and another which runs better with the Sun JDK, which is a pain.

      Note that I'm taling about running a 64-bit VM. If you run a 32-bit VM then all works smoothly (as expected).

    20. Re:Try a VM by Doctor+Faustus · · Score: 1

      Lots of Swing Java apps (as opposed to Cocoa Java ones) are horrible on the Mac because they fail to make it act reasonably like a Mac app

      That's true of Swing apps on Windows, too.

    21. Re:Try a VM by mellon · · Score: 1

      You should try this sometime. It really isn't just a LAF issue. In some cases, code that works on, e.g., Windows, simply doesn't work on the Mac, because the API was underspecified. The order in which you set things up affects whether or not the code actually produces a GUI - if you do things in the wrong order, which is not documented, you may literally not even see a window pop up on the screen. The problems I ran into were generally more subtle - failure to update, or incorrect updates, etc. So you really do have to test your app everywhere you expect it to run. Sad, but true.

    22. Re:Try a VM by mellon · · Score: 1

      I'd be curious to know on what platforms you have tried to run your app. This hasn't been my experience at all.

    23. Re:Try a VM by mrchaotica · · Score: 1

      Well, I'm not trying to talk just about apps targeting a specific look & feel. I'm talking about apps that look and feel horrible for no good reason -- they could be easily changed to work better on the Mac, and on the other platforms too using the same code, if the person bothered to test to notice the problem. I mean, it could be something as simple as "oops, I hard-coded the look and feel manager."

      I guess my Mac bias is showing, because I also think that testing it on the Mac, and experiencing the contrast between it and other Mac apps could highlight some interface usability weaknesses -- ones that ought to be fixed even if the primary target is Windows.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    24. Re:Try a VM by mrchaotica · · Score: 1

      I guess so, but the difference is that you don't notice it because everything else doesn't look so much better in comparison.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    25. Re:Try a VM by kaffiene · · Score: 1

      This may be an issue of what you expect 'portability' to be about. I expect it to mean that my apps run across platforms without code changes. I don't expect that it means "look really cool on all platforms and take advantage of all the cool platform quirks."

      If you want to make an app take advantage of system features on every target platform, then obviously you WILL have to code for that for every platform because that's a task that by definition is non portable. Probably a better solution is to do like the old "brushed-metal-look" Quicktime viewer and have a graphic for your interface because that will port more or less exactly the same and look cool (and potentially be skinnable). All very neat - but that's a good example of the issues with "style portability". The QTime viewer was very pretty, but it broke all the Windows style guidelines by not having "ok" buttons for prefs dialogs. Apple didn't seem to care about respecting the Windows l&f and Windows users didn't get up in arms about it either.

      Would you say that c or c++ wasn't portable because QT's GUI was more appropriate to Macs, not Win32, where I ran it? I don't think so. Hence, I'm still claiming this is not a portability issue if GUIs don't look just the way you like them on someone's Java app. If they care about L&F they have a lot of options - both AWT and SWT utilise native widgets in Java, Swing doesn't. Although, there is a Swing to SWT bridge which runs SWT as if it were Swing. So, if being very Macish is a design goal, it's achievable in Java, it's just that obviously for a lot of people thats not a design goal - just like Apple's QT viewer didn't make respecting the Windows L&F a design goal. Blame the designers, not the language.

    26. Re:Try a VM by kaffiene · · Score: 1

      Windows, Linux, Mac, Solaris.

    27. Re:Try a VM by kaffiene · · Score: 1

      I *have* tried it. Had none of the issues you mentioned.

  13. I call bad c code by quelrods · · Score: 4, Insightful

    Overall the arguement is mostly bogus. For example many linux developers have trouble writing code that even compiles under any of the *bsds. That is just sloppy coding. If everyone got in the habbit of at least writing code that doesn't use system specific includes (linux developers seem the worst at this) and compiled with gcc -strict -Wall or something similar it wouldn't be much of any issue. While I can see that a request to make something work on OpenBSD VAX might be better ignored I fail to see how supporting at the very least linux/*bsd (Open, Net, Free) on ppc, sparc, sparc64, and x86 is supporting a minority. Overall OSS users/developers ARE a minority and to argue over which minority beats who is silly. Also, to only bother to support linux is no better than only bothering to support windows!

    --
    :(){ :|:&};:
    1. Re:I call bad c code by geomon · · Score: 1

      Also, to only bother to support linux is no better than only bothering to support windows!

      Too true.

      --
      "Rocky Rococo, at your cervix!"
    2. Re:I call bad c code by Anonymous Coward · · Score: 0

      Keep in mind that Depper is talking about low-level stuff such as glibc. It may be a necessity to write "bad" C code in order to make the platform work. He writes the software that abstracts away the differences between platforms.

    3. Re:I call bad c code by MrDelSarto · · Score: 1

      Good C code only gets you so far, and isn't the point of Ulrich's rant.

      In the areas Ulrich is active in, like glibc, the kernel, binutils and gcc, the quality of the code really isn't the problem. Each architecture does things so differently there isn't one solution that can fit all. If you change one thing, you're sure to break another. You abstract things into generic and architecture code, but whenever you change that generic code it generally breaks all the architectures. His point is that you decide what you support (i.e. check doesn't break when you make a change), and anyone else has to keep up. If they don't, too bad!

      But even for userspace apps, writing anything more than a trivial application also really becomes hard when you want to start making it perform. For example, for a high performance web-server you want to use epoll on linux, kqueue on BSD, poll on Solaris, etc etc. There are of course nice ways to abstract all that stuff, but it all takes developer time and maintaince effort. Is it worth it?

    4. Re:I call bad c code by TCM · · Score: 5, Interesting

      Very good point. Supporting minority platforms is only troublesome if your code is riddled with i386isms and lazy coding practices. If you do it right the first time with always portability in mind, not only will you get cleaner and more maintainable code, you also get the ability to run just anywhere as a bonus. My prime example as usual is NetBSD.

      It's sad that whenever you build some GNU sources or the latest Linux app du jour you get tons of warnings. Some projects even compile their files with 2>&1 >/dev/null. How sad is that?

      It's not just the Linux folks. OpenSSL is actually worrying me: /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(85): warning: pointer casts may be troublesome [247] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(94): warning: pointer casts may be troublesome [247] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: bitwise operation on signed value possibly nonportable [117] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: possible pointer alignment problem [135] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: pointer casts may be troublesome [247] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: possible pointer alignment problem [135] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: pointer casts may be troublesome [247] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: possible pointer alignment problem [135] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: pointer casts may be troublesome [247] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: possible pointer alignment problem [135] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: pointer casts may be troublesome [247] /x/s.NetBSD.netbsd-3/crypto/dist/openssl/crypto/de s/fcrypt_b.c(111): warning: bitwise operation on signed value possibly nonportable [117]

      etc. etc.

      And this in a project that's driving quite an amount of sites, authentication mechanism and what not?

      Most if not all of the sources that are native to NetBSD, i.e. not imported like OpenSSL and GCC compile without any warning. You automatically get a good feeling about using it.

      Something needs to change in coding land.

      </rant>

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    5. Re:I call bad c code by DRobson · · Score: 1

      I agree with the sloppy coding call. A while back I was writing a (failed) 2D game engine, complete with networking, sound and everything. It compiled and ran fine on Windows, Linux and BeOS with bugger all effort on the part of the two of us coders. I mean seriously, most major libraries are cross platform now so if your code doesnt at the very least compile and make a reasonable attempt at running you should be castrated.

    6. Re:I call bad c code by multipart · · Score: 1

      You're all wrong. For the low-level stuff Uli is talking about (glibc, GCC), supporting minority targets is troublesome even when the best of coding practices are put to use. For example for GCC it means that every optimizer change can cause a regression on ill-tested targets. In the past, silly bugs in the mighty IP2000 or AVR ports could block a GCC release for weeks, until the Release Manager decided that the regression wasn't important enough to block a release.

      Uli's point that the complexity of software grows exponentially with the number of supported targets is also without doubt true. So from an engineering point of view it makes sense to support as few platforms as reasonably possible. If that means dropping AIX, Solaris, and other proprierary UNIX flavors, and leaving the maintenance of those ports up to the companies that are interested in maintaining those ports, makes absolutely perfect sense. Needless to say, the community should try to be helpful when there would be issues with such ports that require more than a maintenance effort to resolve (i.e. something in GCC is too ELF-ish but a port still uses COFF). But the burden of fixing latent broken things in poorly tested ports now resides with whoever post a perfectly valid patch that exposes the latent bug, and that is IMVHO Just Wrong.

      I agree it is sad that there are projects that ignore warnings.

    7. Re:I call bad c code by Nevyn · · Score: 1
      Overall the arguement is mostly bogus. For example many linux developers have trouble writing code that even compiles under any of the *bsds. That is just sloppy coding.

      Here's a better idea, why don't the people who want it to run on *BSD ... do the porting.

      If everyone got in the habbit of at least writing code that doesn't use system specific includes (linux developers seem the worst at this) and compiled with gcc -strict -Wall or something similar it wouldn't be much of any issue.

      If I wanted none of the advantages of Linux, I'd have installed FreeBSD in the first place ... but given that I do kind of like TCP_CORK, prctl(), TCP_DEFERR_ACCEPT, binding mounts, etc. and know that -strict often does the wrong thing without -ansi (and good luck using that). And of course I just remembered I don't work for you. Feel free to start paying me if you want me to support your legacy OS, or you could just pick up an editor and send patches instead of insults and /. crack infested rants.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    8. Re:I call bad c code by Anonymous Coward · · Score: 0

      What happens when someone posts an invalid patch that breaks "minority" platformas that don't have latent bugs? How do you distinguish between this and your "latent bug" situation?

      What about when the "minority" maintainer posts a patch that fixes the mainline bug but slows down execution on mainline platforms in favor of correctness across all platforms? Should we ignore those in favor of the better performance of the broken code?

      This is an incredibly slipperly slope that leads to "you must use the now-current linux kernel/glibc/gcc to make any program compile/run," which is not good for anyone. In particular, this is not a slope we should let someone as stuborn as Ulrich guard. He's a good coder but he's simply not interested in anyone else's plans for his code.

    9. Re:I call bad c code by loucura! · · Score: 1

      Why should he be interested in your plans for his code?

      --
      Black and grey are both shades of white.
    10. Re:I call bad c code by Anonymous Coward · · Score: 0

      Wow your shitty 2D game engine is really at Ulrich's level of discussion. Maybe you should step forward and take his place developing glibc, binutils, the linux kernel, and GCC.

    11. Re:I call bad c code by TCM · · Score: 1

      For the low-level stuff Uli is talking about (glibc, GCC), supporting minority targets is troublesome even when the best of coding practices are put to use.

      Granted, NetBSD uses GCC, but I don't see NetBSD's libc causing much trouble on the 48(?) archs it runs on. I'm sure if the NetBSD people were using their own compiler, it would be of equal quality.

      I don't want to dismiss GCC here, I just don't buy the "supporting more targets slows down the project". In my uninformed opinion this is more a sign of bad design to begin with.

      But what do I know, I just use code, I don't make it.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
    12. Re:I call bad c code by DRobson · · Score: 1
      I think you're being overly defensive and quite frankly arent seeing the larger problem. The code you mentiond isnt really going to be expected to run on some random platform due to the need for at least parts of them to rely on system specific capabilities (hell, Linux _is_ the system).

      The problem is more that people believe the entire world consists of Linux, and nothing but Linux. Therefore, they neglect basic portability principles because they are either lazy or consider themselves to be amongst the chosen few who are to deliver the OS of the gods to the heathens.

      Wake up to yourself, the example I gave illustrated a point you could probably take good note of. I helped created a game engine, shitty as it may have been, that ran on,

      • fully/partial/non posix systems
      • Uptodate, reasonably current, and fairly old systems
      • Used a wide variety of system functionality
      Yet this ran perfectly under all systems. It's not as difficult as everyone will make you think. Try it yourself instead of hanging around slashdot trying to make yourself look intelligent by dropping names the rest of the readership will instantly mod you up for.
  14. Minorities make life so ... complicated ... by dist_morph · · Score: 5, Funny

    Let's just eradicate them once and for all. A homogenous Linux monoculture will be easier to maintain and be to the benefit of all of us.

    1. Re:Minorities make life so ... complicated ... by Bananatree3 · · Score: 1

      [sacrasm]and meanwhile, lets' throw out all but AMD processors, everything but Western Digital harddrives and have a single Linux distro so we can make everyone happy. [/sarcasm]

    2. Re:Minorities make life so ... complicated ... by Anonymous Coward · · Score: 0

      homogeneous Linux monoculture? I think that Linux is actually the minor platform. Surely you meant to say Windows

    3. Re:Minorities make life so ... complicated ... by sheck · · Score: 1

      While your at it, why spend all that time developing Linux software? Can't we just tell everybody to install Windows? That'd be much easier on everybody, (except the Microsoft developers, I suppose, but nobody around here cares much for them anyways, so no harm done).

    4. Re:Minorities make life so ... complicated ... by Anonymous Coward · · Score: 0

      Better dead than Redmond!

    5. Re:Minorities make life so ... complicated ... by ArtStone · · Score: 1

      Henry Ford: "Any customer can have a car painted any color that he wants so long as it is black."

      AT&T: Your telephone can be any color as long as it is black.

      "Open" Source: Our Open Software will run on any type of computer you want - as long as it is Linux-based, uses one of a handful of processor types and you use a C compiler to compile the software. [Author's apparent solution because the open source model has serious management issues due to relying on the kindness of strangers to accomplish work]

      All we need now is a law to enforce this conformity and use the power of government to suppress diversity.

      --
      Final 2006 "Proof of Global Warming" US Hurricane Count -> 0
  15. But the point is ... by TheGavster · · Score: 1

    The point of open source is that the features that get added and the platforms that are supported are the ones that people put the time in to code. If a project supports platform x, it goes to reason that someone, somewhere, uses platform x and the given application, and has the skill to make them work together. This isn't a commercial project, where you have a marketroid telling you 'someone, somewhere wants feature x and for the application to work on platform y'.

    --
    "Because Science" is one step from "Because old book". Try "Because of my experiment testing my falsifiable assertion".
  16. No... by AAeyers · · Score: 2, Insightful

    Porting Open Source to Minor Platforms is Harmful

    I would say that an article about someone's blog entry on the front page is harmful.

    --
    "For Great Justice."
    1. Re:No... by smittyoneeach · · Score: 1

      This is the closest thing to "Stuff that matters" I've seen on the front page in weeks. UD is nobody's corporate shill, and the question of 'what is a reasonable platform range' is another facet of configuration management that really bears an extended hash-out.
      s/harmful/helpful/

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    2. Re:No... by fbform · · Score: 1
      I would say that an article about someone's blog entry on the front page is harmful.

      No, his blog's on LiveJournal, and they seem to be able to handle the Slashdotting without any trouble. So no, definitely not harmful.

      --
      Time flies like an arrow. Fruit flies like a banana.
  17. Standard operating procedure from Ulrich by Anonymous Coward · · Score: 1, Interesting

    This post was surely inspired from this message to libc-alpha.

    He's curt to the point of being rude, and I'm surprised anyone wants to develop on anything he's involved with. I wonder if the more social glibc developers like Roland agree with his position?

    1. Re:Standard operating procedure from Ulrich by Anonymous Coward · · Score: 0

      Yeah, that's par for the course for Ulrich. My personal favorite is when he mocks the very people giving him patches to correct his bugs. Instead of saying "thanks" like a normal human being he snips at them telling them why their fix to his bug is suboptimal.

      People "put up with him" because he is one smart S.O.B. The range of things he's designed is nothing short of amazing.

    2. Re:Standard operating procedure from Ulrich by Anonymous Coward · · Score: 0

      Yeah, and the thing is Alfred is perfectly correct. Stuff in generic/ should be, you know, generic. The patch he's complaining about is a Linuxism. Why does Glibc2 have this amazingly complicated (& rather elegent and beatiful once you figure it out) build system, with huge matrices and trees under sysdep/ if anyone can just slap their patches in all over the place and break it all? Why not just dump the entire system and replace it with one big flat directory structure, and have each port maintain their own copy of every single file?

      Ulrich may be curt, he may be an asshole, but sometimes he's also just plain wrong. This is one of those times.

  18. Sounds like... by danielk1982 · · Score: 0


    Which are the OS targets which should be supported? Support for proprietary OSes should be dropped. Free software should only support free OSes and even among those the group needs to be trimmed significantly (ideally to one).


    Sounds like someone wants to take his ball and go home.

    1. Re:Sounds like... by pedantic+bore · · Score: 4, Insightful
      Free software should only support free OSes.

      Hypocrite... (software should be free! So I'm holding mine hostage until you release yours!)

      And let's imagine what would happen if the vendors of those proprietary OS's decided to play the same way...

      Say goodbye to NFS, NIS, Rendezvous, Mono. Perhaps Sun would close Java (which would make the conspiracy theorists happy, but nobody else.) Goodbye to the largess of many large vendors (where do you think organizations like FSF get their funding?).

      And that crack about "ideally to one". Linux is a nice OS and all, but believing that it is the one for all purposes from PDAs to supercomputer clusters, data warehousing to real-time control is silly.

      --
      Am I part of the core demographic for Swedish Fish?
    2. Re:Sounds like... by Jonner · · Score: 1

      I don't think that it is a bad idea for Free Software developers to support non-Free platforms, but I do understand an idealogical postion that would. In some cases, Free Software on non-Free platforms might reduce the need for people to switch to the Free platform, which might hurt the Free platform, so I don't think it's necessarily hypocritical to avoid non-Free platforms entirely.

      Also, I don't think your mention of NFS, Rendezvous (which is an implementation of zeroconf, AFAIK) and Mono makes sense. There are Free implementations of NFS (such as in Linux) and zeroconf. Mono is a Free implementation of DotNet stuff. Are you saying that Sun implemented the Free Linux NFS or that Apple and Microsoft implemented Free versions of Rendezvous and DotNet? Was Sun's, Apple's or Microsoft's porting efforts useful to any of the Free implementations?

      Although I agree with you that one platform is not ideal (there should always be diversity and choice), your argument against Linux being the one isn't very strong, since it is actually used for all the purposes you mention.

    3. Re:Sounds like... by pedantic+bore · · Score: 1
      The reason that there can be free implementations of these things is because the vendors (who spent their own money to develop them) released their specs, IP, and in some cases reference implementations, to the community. So, for example, nobody has to worry about licensing or patents or anything else in order to reimplement, use, or distribute code for NFS. As another example, who paid the people who spent many, many years writing the POSIX spec?

      As far as the everything-should-run-Linux argument, I didn't express myself clearly. It's possible to run the same OS on all of those platforms, but it's a silly, stupid, short-sighted idea. People who believe that one OS is right for everything are only an iota better than the one-language-for-everything folk.

      --
      Am I part of the core demographic for Swedish Fish?
    4. Re:Sounds like... by Jonner · · Score: 1

      I understand that Sun, Apple, and Microsoft have released specs and reference implementations, which is certainly very useful to any implementor, for Free or proprietary. However, I don't think it's relevant to the question of whether it's a good idea for Free software to be ported to non-Free platforms.

      For one thing, unlike proprietary software, anyone may port a piece of Free software to any platform they choose without help from the orignal author. When the author of a proprietary package says, "we will not port it to Free platform X," they generally also mean that no one else can do it either. However, when the author of something Free says, "I will not port this to non-Free platform X," he's not stopping someone else from doing it.

      Also, any implementor of something originally implemented in Free Software (whether they're writing Free or proprietary code) can always look at the orignal source to discover the protocol or method it uses. This may not be as useful as a well-written spec, but it's far better than trying to reverse-engineer a proprietary, closed package.

      I strongly agree that it's short-sighted to think that one OS or one language is the right tool for every job. However, I do believe that a Linux-based OS is a good choice in more circumstances than any other particular OS (however, that doesn't mean it's a good choice in most situations).

  19. Apple by mnemonic_ · · Score: 1

    You know, that's what Apple has now. And in four years, Apple developed an OS that's stable, fast and incredibly easy to use, along with a software suite that integrates beautifully. Apple's already done this, while the Linux community is still trying after 20 years.

    1. Re:Apple by Anonymous Coward · · Score: 0

      Fast? OS X the slowest Unix you can buy -- Linux totally dominates it in server performance. As for desktop software, you're right, nobody in the Linux world sees competing with Windows as a workable business model, so relatively minimal effort is put into it.

    2. Re:Apple by MrRage · · Score: 1

      OS X wasn't developed in only 4 years. OS X is largely based on NextStep, which if I remember correctly has been around longer than the linux kernel.

    3. Re:Apple by KaptNKrunchy · · Score: 1

      In four years they made a BSD into a stable fast and easy to use OS, based on 20 years of hard, non-apple, work.

    4. Re:Apple by mattkinabrewmindspri · · Score: 1

      OS X is based on NeXTSTEP, an operating system created in 1985 by NeXT, the company which Apple bought in 1996.

    5. Re:Apple by Anonymous Coward · · Score: 0

      To be fair, it sounds like NeXT did almost nothing to improve the core BSD code ... until recently when several FreeBSD engineers were hired by Apple.

    6. Re:Apple by BJH · · Score: 1

      The OS X interface is based on NeXTSTEP.
      The underpinnings are a bastardized combination of Mach and FreeBSD.

    7. Re:Apple by andreyw · · Score: 1

      The linux kernel is not 20 years old. I think that just about invalidates anything you had to say.

    8. Re:Apple by Anonymous Coward · · Score: 0

      And in four years, Apple developed an OS that's stable, fast and incredibly easy to use, along with a software suite that integrates beautifully. Apple's already done this, while the Linux community is still trying after 20 years.

      Apple took four years to modify MACH and BSD into a compatible operating system, so add whatever time it took to develop those (20 years?).

      Linux was announced in 1991. Do the math. Oh, and I don't think that anyone who has used OSX and almost any other operating system would call OSX fast.

    9. Re:Apple by stor · · Score: 1

      Apple. Write once, run on the current version of the OS. ;)

      What does OSX run on other than a Mac? What Macintosh applications are ported to other platforms?

      I love the look and functionality of OSX. Expose is awesome. The new finder-thingie seems cool. The integration and seamlessness between apps is awesome (the usual Apple standard) and I don't want to discredit their contributions to the OSS world. However if you want to take OSX away from the workstations and into places like the server room you'll find yourself pretty limited in comparison to Linux/BSD.

      You'd probably do OK if you were seriously cashed up but most of us are not unfortunately. You also may find yourself stuck on Planet Apple for the next few years, for better or worse.

      Flame away, I was once a (happy) //gs user. =)

      Cheers
      Stor

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
    10. Re:Apple by bani · · Score: 2, Interesting

      and boy is it ever ugly.

      it has a lot of ugly nextstep-isms though, including the heavy leanings toward objc and bundles.

      and for a long time osx was missing even basic freebsd mechanisms like dlopen() (yes, i know someone wrote a wrapper, but it took a long time for apple to appropriate it as an official api).

    11. Re:Apple by bani · · Score: 1

      expose is needed because the osx window manager sucks donkey dick.

      GUIs with decent window managers don't need expose.

      oh, and the apple dock sucks horribly too. the original nextstep dock was a jillion times more functional -- jobs really fucked up with the osx dock.

    12. Re:Apple by GlassHeart · · Score: 2, Insightful
      it has a lot of ugly nextstep-isms though, including the heavy leanings toward objc and bundles.

      Assuming we're talking about the same thing, bundles are a compromise between the need for easy installation of applications and "flat" file systems. What would you have preferred under those requirements?

      Also, do you have a more objective criticism than "ugly"? I'm not saying you don't, but many times it's just another word for "unfamiliar to me".

    13. Re:Apple by SkimTony · · Score: 1

      I must note a few errata in this post.

      1. MacOS X has been in the works for a fairly long time. It started development, at Apple, in 1997, as MacOS X Server. It was released around the same time as MacOS 9. It was certainly nothing like the classic MacOS available at the time.
      In fact, it very closely resembled NeXT, the OS from which it was derived. NeXT was started in 1985 by Steve Jobs, who came back to Apple in 1997 and brought his OS with him. Not even counting the BSD userland software in OS X, it's been twenty years for OS X to become what it is, now. That's six years longer than Linux has been even a grad-school project. If you're concerned with the GNU tools that comprise the userland of the various linux distributions, you might wish to consider that those very same tools are included in MacOS X, too.

      2. The core of MacOS X, Darwin, is available for multiple hardware platforms. Apple is also known to maintain an alternative platform port of OS X, specifically to keep their code clean, and weed out obscure bugs.

      Apple certainly doesn't have to cope with the difficulties of hardware variety that other OS maintainers do, but they make their code portable for the right reasons.

    14. Re:Apple by N1KO · · Score: 1

      OSX doesn't run on a major platform (x86), it runs on a minor one (ppc). Once the new consoles come out it will also be a minority with regards to ppc.

    15. Re:Apple by Anonymous Coward · · Score: 0

      The NS* interface for working with Mach-O libraries is more powerful than the dl* functions. You can get the number of symbols defined, enumerate symbols in the image, fetch string names, and so forth. Far more powerful than dlopen et al.

  20. platform-specific bugs? Doubtful by pedantic+bore · · Score: 5, Insightful
    Most of the bugs that I've seen that are "platform-specific" are not actually due to bugs in that platform -- they're just ordinary bugs that were there all along, unnoticed due to poor assumptions. (Back in my day, we called this the "all the world's a VAX" assumption -- now it's the "all the world's x86") Finding these bugs and removing them make the code better.

    The bugs due to platform bugs -- well, knowing about them helps improve the platform.

    If you think fixing these bugs is a pain in the neck, fine. If you think it's a waste of time, however, think again.

    --
    Am I part of the core demographic for Swedish Fish?
  21. I can see where he is coming from.... by refactored · · Score: 1
    I suspect of all the people in the world, Uli has been one of those bitten hardest and deepest by this problem, mostly because of his vast contributions to so many of the core items in the GNU/Open Source software collection. So I can feel for his radical tone.

    However, there is some good PR value in some of these ports.

    He is right though, a bit of strategic thinking would be Good. eg. Think about when dropping a port would merely force some lazy PHB to take the final bold step into the wonderful world of GNU/Linux and when keeping a port is winning valuable support and new recruits. eg. Dropping support for SCO was Good in several ways.

    1. Re:I can see where he is coming from.... by Metzli · · Score: 1

      That's an interesting thought, but do you really think that losing support for some platform would "force some lazy PHB to" turn to Linux? Most PHB's that I've known/met/worked for would have (a) gotten ticked that their ancient, legacy platform was no longer supported and (b) started looking at switching to Windows.

      --
      "It's too bad stupidity isn't painful." - A. S. LaVey
  22. yay! by Anonymous Coward · · Score: 1, Insightful

    Let's all get things done a hundred times slower!

    Progress!

    1. Re:yay! by name773 · · Score: 1

      but is it resource intensive?

  23. No need to look too far by shutdown+-p+now · · Score: 1
    Free software should only support free OSes and even among those the group needs to be trimmed significantly (ideally to one).
    I don't care whether your code is "Free" or not in this case. If you want the whole playing field for yourself, you want too much. Competition is just as good in OSS world.
  24. testing is good by ScottSpeaks! · · Score: 1

    And here I thought that getting rid of bugs was a good thing. Coding for portability makes for better code, so code that doesn't port easily is deficient. (Any high school freshling with VisualStudio can write code that works dependably on a single platform.) Ergo, testing on secondary and tertiary platforms makes for better apps and is simply another aspect of QA.

  25. Fine until some future bug bites you in the ass... by forkazoo · · Score: 5, Insightful

    Keeping your code portable helps eliminate stupid assumptions, which make your software useless when the dominant platform changes. Once, all the world was a VAX, and people did stupid things. Then, the world changed. They kept doing stupid things.

    Think, for example, about 64 bit cleanliness. A piece of software which supported Alpha, UltraSPARC64 and SGI's MIPS64, and so on, wouold have been fairly trivial to port to IA64, and AMD64, and PPC64 when they started to become significant. OTOH, code which assumed it was running on a 386 would have been a pain in the ass to port to even just AMD64.

    Also, by supporting a broad spectrum of compilers, you will probably be able to understand what is going wrong when you compiler of choice changes. Witness code breakage on gcc3. Devs who had already ported their software to a variety of compilers were better able to respond to any issues, and fix their code.

    Many monoculturalists make stupid endian-ness assumptions. Now, Mac OS X is becoming a significant market. If you have stupid endian-ness assumptions, then you may wind up having to basically rewrite in order to gain access to those millions of potential customers/users.

    Imagine if OpenGL only supported SGI and 386. Or libtiff only worked on i386. People just wouldn't use them. Things like that get used because they are ubiquitous, and you can build them anywhere.

  26. Sounds like a Microsoft-ism by amigabill · · Score: 2, Interesting

    Doesn't that sound like something MS would say? Don't waste your resources developing for small-time operating system like Linux or Mac when only the large market platform, ie. MS, is feasible for reaching your feature goals in a timely manner?

    Come on. While this is an excuse for a proprietary for-profic product with a small team, I don't see this as flying as well in open source land. If some guy wants to port Firefox or OpenOffice to something off the wall like AROS or some other nearly unknown platform, let him. He wouldn't be working on the Windows or Linux ports regardless, so why prevent him from doing something so crazy with his own time and money?

    1. Re:Sounds like a Microsoft-ism by HotButteredHampster · · Score: 1

      If some guy wants to port Firefox or OpenOffice to something off the wall like AROS or some other nearly unknown platform, let him.

      I was thinking about porting Firefox to MacOS 8.6. Who's with me????

      Anyone?

      {sound of crickets chirping}



      HBH
      --
      "Smart is sexy." -- D. Scully ("War of the Coprophages")
    2. Re:Sounds like a Microsoft-ism by NanoGator · · Score: 1

      " If some guy wants to port Firefox or OpenOffice to something off the wall like AROS or some other nearly unknown platform, let him."

      On the other hand, if some guy makes some software because he wants to get it done quickly AND get it out to a lot of people, he could choose to develop for one platform and reap the benefits of it.

      Just because Microsoft suggested it (and I SERIOUSLY doubt they were the first or the only one) doesn't mean it's bad, mmkay. It's all a matter of what your goals are when writing software.

      Heck, I recently had this choice. I recently wrote a rather complex plugin for Lightwave using its native scripting language. (here's an image of it in action so you can get an idea of what it does...) One of the questions while developing it was "should it run on the Mac?" This question wasn't so simple to answer. Because it's LW's scripting language, the code (theoretically) works on any platform that Lightwave runs on, including OSX. However, the cost of that was that the code had to be tested on both the Mac and the PC. In the end, it also meant writing code specifically to make it work on the Mac. (fortunately, that wasn't TOO hard, but Mac's file system is a little bit different. I had to cook up a standard to adhere to when using files. Also, there were a couple of bugs in Lightwave specifically on OSX that I had to get around.)

      In our case, we wanted greater portability. We wanted to support both the Mac and the PC. However, if we wanted to get it out sooner, the alternative would have been to focus on the PC version. Heck, I could have added a few 'windows only' features that would have been handy.

      My point? It all depends on what your motivations are. Your way is right, in one scenario. It's totally wrong in another. The point of writing code is to create something useful for the end user, as opposed to entering it in a good code writing contest. Think about your goals and make the right choice. Don't base your choice on whether or not you look like Microsoft.

      --
      "Derp de derp."
  27. Java as fast as C++ by Dancin_Santa · · Score: 1

    A hundred times slower than what? Assembly?

    This was in 1998

    Please update your trolls.

  28. Portable code is robust code by Sinner · · Score: 4, Insightful
    Porting to minor platforms exposes bugs, real bugs, that might not have been found otherwise. It enforces good software engineering practices.

    Of course, you can overdo it. Take a look at InfoZip for example. No, seriously, take a look at it. It works on every platform you can think of, but the price is that the code is almost unreadable. The biggest problem is all the cruft needed to maintain 16-bit compatibility. It desperately needs updating to handle non-ASCII filenames intelligently, but the last thing that code needs is another layer of #ifdef's.

    There comes a time when you just have to say "fuck the Amiga".

    --
    fish and pipes
    1. Re:Portable code is robust code by Omnifarious · · Score: 1

      IMHO, #ifdef's are a poor way to handle portability, and the code needs some serious refactoring to either try to find a single method that works on all platforms properly, or move the platform dependent piece out to separate modules.

    2. Re:Portable code is robust code by NoMoreNicksLeft · · Score: 3, Funny

      Tramiel, is that you?

    3. Re:Portable code is robust code by bani · · Score: 2, Insightful

      #ifdefs are a tool like any other. use them when they make sense, when they are the best tool for the job. they are not always the best tool, but "never" (as you imply) is the wrong answer also.

      writing 5 different copies of the same function is often more counterproductive than one with 5 little #ifdefs in it.

      moving code out into separate modules can introduce other problems such as increased effort to keep all the individual architecures coherent -- which increases the risk of bugs creeping in. this approach is often counterproductive.

    4. Re:Portable code is robust code by Anonymous Coward · · Score: 0

      IMHO, #ifdef's are a poor way to handle portability, and the code needs some serious refactoring to either try to find a single method that works on all platforms properly, or move the platform dependent piece out to separate modules.

      Hi. You are a dumbass.

      Thank you.

    5. Re:Portable code is robust code by toby · · Score: 2, Interesting
      the price is that the code is almost unreadable.

      I have seen this phenomenon but it certainly doesn't have to be that way. One of the best kept secrets of having both cleanliness and portability is to eliminate #ifdefs from sources as far as possible. The obvious ideal is to have identical source and abstract platform differences by other means (e.g. macros instead of #ifdefs, and using identical APIs on different platforms, supplying only platform dependent implementations).

      Keeping it clean probably also requires occasional refactoring and I guess some projects shun this as a matter of policy. The projects I would cite that achieve a high level of portability typically have no machine dependent code at all (TeX, for example). Not all code has that luxury but it's not as difficult as many people think - apparently including our friend Drepper.

      --
      you had me at #!
    6. Re:Portable code is robust code by fm6 · · Score: 1
      It enforces good software engineering practices.
      It's funny that you should say this, and then go on to talk about InfoZip, a program full of precisely the problems that good software engineering practices are supposed to prevent. It sounds like porting doesn't enforce these practices -- rather, it raises the cost of not following them!
    7. Re:Portable code is robust code by starfishsystems · · Score: 1
      Porting ... enforces good software engineering practices.

      Yes, or anyway it puts a fork in the road. One direction points toward modularity but has a generally positive effect on design as well. The other direction quickly leads to a tangle of #ifdef s and special cases, tends to keep implementation issues in the foreground, and likewise hides design issues.

      In the long run, the software which survives the process of being designed, refactored, and tested for portability is more robust. Some of that effect is due to insights gained along the way, and frankly, a good proportion is due to attrition.

      --
      Parity: What to do when the weekend comes.
    8. Re:Portable code is robust code by gmhowell · · Score: 1

      There comes a time when you just have to say "fuck the Amiga".

      You hit bees' nests with sticks, just to stir things up, don't you?

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    9. Re:Portable code is robust code by Sinner · · Score: 1
      It's funny that you should say this, and then go on to talk about InfoZip, a program full of precisely the problems that good software engineering practices are supposed to prevent.
      Okay, fair point. But Infozip is an extreme case.
      It sounds like porting doesn't enforce these practices -- rather, it raises the cost of not following them!
      Well, you could just as well say the police don't enforce the law, they just raise the cost of not obeying it :-)
      --
      fish and pipes
    10. Re:Portable code is robust code by Anonymous Coward · · Score: 0

      There comes a time when you just have to say "fuck the Amiga".

      What did the Amiga ever do to you? Sure it's not a modern solution for everyday living, but seriously, if some dude wants to sit in his mom's basement writing code on his Amiga 2000, let him!

    11. Re:Portable code is robust code by Omnifarious · · Score: 1

      Most of the time, when I see #ifdef's being used for platform independence, I see a bunch of code that is written in a very platform dependent way that doesn't actually need to be. I also see platform dependencies being allowed to proliferate through code instead of being confined to a small area.

      I admit that in some code, in some places, #ifdef is the way to manage platform independence. But, in most code, in most places, it's not, and you should refactor your code to either completely remove the platform dependencies, or confine them to as small a piece of code as possible.

      I've maintained commerical code that was ported to at least 8 (probably more) different Unix platforms. There was a core of that code that did a lot to encapsulate platform dependencies in a small area, and a much larger body of code in which the tool of first-resort was a #ifdef. One body of code required a lot of babying and maintenance work. Another ported effortlessly. I'll let you guess which was which.

    12. Re:Portable code is robust code by bani · · Score: 1

      and you should refactor your code to either completely remove the platform dependencies

      your post amuses me greatly. you've obviously never tried porting to win32 :-)

      maintaining cross unix code is a wildly different beast than unixwin32. with unix you're dealing with minor (at best!) api differences. with win32 you're dealing with a completely different plane of existence.

      or hell, even OSX. Carbon is wildly different from say, POSIX and X11. And wildly different still from win32. and when I say OSX I mean a native OSX app, not something that uses Xdarwin as a crutch and doesn't use Carbon at all.

      try a native linux/win32/osx app and get back to me. then i'll take your posts seriously :-)

    13. Re:Portable code is robust code by Omnifarious · · Score: 1

      I have done this. And I did it by building a library of platform dependent code and using a different libraries on the two platform. The entry points to the library remained nearly identical.

      The only place where platform dependence crept into the main code was where I had to have one set of code to deal with being an NT service and another to be a proper Unix daemon. Then, I believe (if I remember correctly) I made an attempt at factoring the code out into two different modules and had perhaps one or two #ifdef's in the main code.

      The basic concepts of Win32 and Unix are actually very similar. The implementation details of those concepts are wildly divergent, and certain concepts (like fork) don't translate at all, but it wasn't enough to affect the main body of the program.

    14. Re:Portable code is robust code by bani · · Score: 1

      so it wasn't a GUI application then.

      cross platform portability is pretty simple as long as you don't have to deal with UIs.

    15. Re:Portable code is robust code by Omnifarious · · Score: 1

      No, it wasn't. And if it were a GUI application, I would separate the application into presentation and engine layers. Then I would write completely different presentation layers for each platform while keeping the engine layer largely the same. This is the approach taken by Nethack, and I believe that it has been ported to more paltforms than practically anything else, with the possible exception of emacs and gcc.

      The various different platforms all have distinct UI rules that are followed by convention in all the apps on that platform. It would be nearly impossible to make a single set of code that could present the GUI properly on all of them.

      Alternatively, I would use a cross-platform GUI library like Qt, *shudder* Tk, wxWindows, or GNOME/GTK. Then I would be honest that my application would largely not share the multitude of little rules and conventions that other native applications on that platform had.

      I would actually be distraught nearly to the point of apoplexy to discover some body of code that tried to use #ifdef's to manage a cross-platform GUI.

    16. Re:Portable code is robust code by Sinner · · Score: 1

      I used the Amiga as an example of an obsolete platform with a small but extremely vocal userbase. I have nothing against it personally.

      --
      fish and pipes
  29. Ummmm . . . by erikharrison · · Score: 4, Insightful

    Sometimes, we use hyperbole to make a point.

    Unfortunately, I don't think that Ulrich is doing that.

    AIX is not a minority platform. What The Fuck. Okay, so the AIX guys are asshats in the way they treat GCC, fine. But GCC's claim to fame is that it it is the cross compiling, multiplatform compiler du jour. I think Ulrich loses a lot of credibility to say that GCC needs to not support AIX because it's a minority platform.

    *nix applications which run primarily in userspace should port to the various BSD's and Linux easily, and if they don't then 99% of the time it's a bug. And in many cases, it's a bug that will affect the working platforms eventually (relying on nonstandard behavior of system calls, linker oddities, assumptions about file placement, etc). And if a closed Unix platform has paid developers to assist in the porting, then it should run on that platform too. And if the paid devs are dickbrains, then a good project leader should say so. Behave, or fork and get your whining ass out of my tree.

    These AIX GCC guys shouldn't be saying "This patch breaks AIX, kill it", they should be saying "This patch fixes *blank* on AIX", at least most of the time.

    1. Re:Ummmm . . . by Dan+Berlin · · Score: 1

      Ulrich isn't even right about that part, which is sad.
      He just seems to have an axe to grind with dje.

    2. Re:Ummmm . . . by dvdeug · · Score: 2, Interesting

      Okay, so the AIX guys are asshats in the way they treat GCC, fine

      I've watched the GCC list; David Edelsohn has consistently worked with the other people on the list. He takes the time to work out a solution to the AIX problems. OTOH, when Ulrich Drepper thinks something is broken on GNU/Linux, he will fight tooth and nail for the solution he thinks is right, as long as it doesn't mean that he has to clearly explain why his solution is right.

    3. Re:Ummmm . . . by edx0r · · Score: 2, Interesting

      After I read "AIX is irrelavant," I read a little further, hoping to find the necessary justification for such a statement. When I didn't find it, I stopped reading. I appreciate the point he's trying to make, but randomly firing shots across IBM's bow doesn't so much aid his argument as reveal a gross personal bias. That said, perhaps GCC doesn't need to support AIX, when much better alternatives (VAC/XLC) exist. Anyone who can pony up the dough for a nice POWER box can probably ought to pitch for a good compiler too. :) Even in Linux, XLC will run circles around GCC. But then, that all goes back to the question of GCC's purpose in life . . . broad support, or good performance. I'm not convinced you can have both, and I don't think there's any real middleground between them.

    4. Re:Ummmm . . . by Anonymous Coward · · Score: 0

      But then, that all goes back to the question of GCC's purpose in life . . . broad support, or good performance.

      Broad support it is ;)

      Let me know when you can build AIX on POWER executables from a Solaris on an ultrasparc using the expensive compiler you bought from either IBM or Sun.

  30. Apparently ... by Fookin · · Score: 1
    Their server is hosted on a minor platform.

    Ouch.

  31. Not just OSS by Anonymous Coward · · Score: 0

    In the large software project I work on, I can attest that this is most definitely true.

    Our product supports 13 platforms (usually both 32-bit and 64-bit for each of those) - several windows, unices, linuces... In general, we try to run our entire test suite on every platform for every release and every fixpak. In general it takes about a month to run all the test for each platform. Obviously, we run the suites concurrently on each platform.

    Once we get close to the end of the release cycle, and the code gets frozen, every last minute fix has to be run on all these different platforms... what a hassle. It consumes large amounts of both hardware and human resources to perform all this testing.

    Not to mention that in the normal development process, when checking in a fix you can't test your change on every possible platform... you'd never get any work done. So we test on the major ones and cross our fingers it doesn't break anything else. Sometimes there are compile errors on the rare platforms (HPIA64 is a beast for this) and others there are runtime problems that don't get discovered until much later.

    So, I can attest that in the real world, even in a non OSS environment, supporting all those rare platforms is a huge PIA and definitely slows down development and reduces quality.

    1. Re:Not just OSS by Anonymous Coward · · Score: 0

      What is the implementation language?

      How do you keep the code base from splitting too far along platform lines?

    2. Re:Not just OSS by Anonymous Coward · · Score: 0

      It's about 66% C, 17% C++, 17% Java.

      The build levels are the same across the platforms. The less-used platforms just come out with fewer builds. But, for example, the 050530 build will have the same source on all platforms.

    3. Re:Not just OSS by Anonymous Coward · · Score: 0

      It makes sense not to have separate source trees, but do you just use #ifdefs to handle things tricky things like byte ordering?

      One approach that I've seen work many times over is to have separate platform-specific header files and a compiler directive to pull in the correct headers. What approach do you use?

    4. Re:Not just OSS by Anonymous Coward · · Score: 0

      In general, we have a combination of both. There are a ton of platform specific headers with compiler directives. In in the main source itself is littered with #ifdefs. Most of the time it's just Windows vs. non-windows. But there are some highly optimized parts of the code that use directives down to the cpu type.

      Considering we have about 300k source files, it works out OK (but not great) in the end...

  32. He's crazy. by mellon · · Score: 2, Insightful

    Porting reveals bugs. It also forces you to rethink short-sighted decisions. Furthermore, most of the problems I run into with porting have to do with cross-version incompatibility on Linux - the BSDs actually have comparitively stable APIs.

    This line of thinking is a lot like how I presume Microsoft thinks of things: if we just port to this one API, it doesn't matter how bletcherous it is. But as Microsoft has discovered, this kind of thinking actually turns into a straitjacket, which prevents them from being responsive when they need to be.

  33. get some perspective by ArbitraryConstant · · Score: 4, Insightful

    "IMO the most notorious case is how the gcc development is held hostage by Edelsohn and maybe IBM as a whole by requesting that everything always works perfectly well on AIX. How often has one seen "this patch breaks AIX, back it out". It cannot reasonably be expected that everybody tests on AIX. It is an proprietary OS running on proprietary and expensive hardware which not many people have access to. The overall development speed could be significantly improved by dropping the AIX requirement which, in some form or another, has been agreed upon by the steering committee. AIX is irrelevant in general today, i.e., the situation changed. And the people in the steering committee are too nice to just tell the very small minority causing the problem to take a hike."

    GCC is the de facto standard because it runs on more platforms than anybody else.

    If it ceases to run on all these platforms, it will either:
    a) fork a project that will support them
    b) another compiler will take its place as the de facto standard
    c) people will be forced to use whatever the default cc is on their OS.

    In any of these cases, the portability concerns will get an order of magnitude worse.

    --
    I rarely criticize things I don't care about.
    1. Re:get some perspective by Anonymous Coward · · Score: 0

      Actually, it is better to have more compilers. I don't use GCC on AIX, HP-UX, Tru64 and Solaris because using the native compilers there make my code even better. A mono-culture compiler is not good either.

  34. what's he calling non-mainstream? by iggymanz · · Score: 1

    a couple million web sites running an open source OS which is something Not Linux, and those that do run Linux are bailing out of RedHat to other things: SuSE, Ubantu, etc.

    1. Re:what's he calling non-mainstream? by Anonymous Coward · · Score: 0

      Check the stats. SuSE is losing to RedHat, as are most Linux variants more than one year old.

    2. Re:what's he calling non-mainstream? by ArbitraryConstant · · Score: 1

      He's referring to FreeBSD.

      --
      I rarely criticize things I don't care about.
  35. JavaWorld Proclaims: Java as fast as C++ by Anonymous Coward · · Score: 0

    Yay unbiased sources!

    In other news, Ben and Jerry report that ice cream is just as healthy as broccoli.

    1. Re:JavaWorld Proclaims: Java as fast as C++ by Anonymous Coward · · Score: 0

      While Java is in many ways not quite there compared to C in every instance, for many uses it is just as fast. Java must run on the same computers and use many of the same algorithms everyone else must use. While its memory footprint might be larger, there are many supporting benchmarks that show it performs well compared to C++ in ordinary applications.

  36. Java/C# by zyridium · · Score: 1

    This is a reason we should be using languages other than C/C++.

    Then we only have one (significant, sure) platform dependant application.

    Dealing with platform oddities on every program is always going to be a far more difficult problem.

    1. Re:Java/C# by aCapitalist · · Score: 1

      Get a clue. Drepper works on glibc. This is low level stuff that makes system calls and has to deal with cpu architecture stuff.

      You're way to high up on the software stack.

    2. Re:Java/C# by zyridium · · Score: 1

      He may work on that, but his article talks about the issue in general. My point was simply that if people used a less architecture specific model of programming then the issue of portability would shift away from individual projects and towards each of the minority groups that manage implementations of the VM for their platform. This is preferable to confusing the code within a bunch of other projects with architecture and OS specific oddities.

  37. Be One by Atomic+Frog · · Score: 1

    Yeah, of course one operating system is easier. While you're at it, it's also counter productive to support a myriad of hardware platforms too.

    From now on, you will be allowed to use 1 specific CPU, with 1 chipset and one motherboard...
    Heck, and why even let other people at the source code. They'll just come back and tweak things and report new bugs. Close up the source, I say!

    Sheesh! The whole beauty of open-source is that anyone can and probably will port stuff to their own favourite platform. You may find some platform specific bugs, but they may be helpful. You may learn something that fails disastrously on some platform is actually showing up as a subtle bug in another (e.g. security issue).

    You can't pick and choose about open-source. Either it's open to everyone, or not.

  38. I categorically disagree. by bani · · Score: 5, Insightful

    Porting to other platforms/architectures often reveals bugs in your primary target platform. it is often worth the effort to port to other platforms on this basis alone.

    also, if it takes you a lot of effort to keep architecture-nimble, there is something fundamentally wrong with your design. this in itself should be a warning.

    But there is no benefit at all in supporting something like PA Risc, m68k, cris, etc as configurations of the generic code.

    ulrich obviously has no clue whatsoever about embedded systems, and should therefore stfu on this point. one of the most popular embedded platforms is a 68k variant (coldfire) -- it's probably second behind ARM. by dumping support of 68k you castrate linux in the embedded marketplace. there's much more to 68k linux than sun3 and atari/amiga.

    his rant against mingw as "undeserving" is stupid. mingw is an enabler -- it means people can develop for win32 without having to pay microsoft $$$$ for the privilege of doing so.

    his 'dictatorship of the minorities' argument is actually self-defeating on this point because microsoft users are in the majority. by his own arguments, we should be concentrating on supporting win32 as the primary target for gcc and primary architecture for linux.

    utterly ridiculous.

    bug-eyed rants like his just serve to reinforce the stereotype that all open source advocates are completely unhinged. it is not helpful in the least.

    1. Re:I categorically disagree. by phoxix · · Score: 1

      ulrich obviously has no clue whatsoever about embedded systems, and should therefore stfu on this point.

      When he happens to be a lead developer of the glibc .... you can assume he has more clue than most of Slashdot combined *cough*

    2. Re:I categorically disagree. by YU+Nicks+NE+Way · · Score: 1

      Except that the GP is right about the embedded space and the author of TFA is wrong.

      I'm agnostic on the question of minority architectures, actually. As a Microsoft employee, I don't really care whether Linux development is choked off on cell phones or other small devices; really, less competition for Symbian doesn't interest me at all. More than that, I don't really care if OSS types arrange themselves into circular firing squads, oh no, not me.

    3. Re:I categorically disagree. by Anonymous Coward · · Score: 0

      And his knowledge of glibc makes him an expert on embedded systems how, exactly?

    4. Re:I categorically disagree. by geminidomino · · Score: 1

      And Slashdot dies horribly as 400,000 stallmanites try to simulateously add the same user into their FOES list...

      Good job.

    5. Re:I categorically disagree. by Anonymous Coward · · Score: 0

      What an accomplishment! Have you ever looked at the glibc code ?

    6. Re:I categorically disagree. by Anonymous Coward · · Score: 0

      glibc's code is due to the problem of supporting so many different platforms.

    7. Re:I categorically disagree. by Anonymous Coward · · Score: 0

      Glibc sucks, and any embedded developer will attest to the fact that glibc is unsuitable for all environments where speed, size, or memory constraints are an issue.

    8. Re:I categorically disagree. by Anonymous Coward · · Score: 0

      YU Nicks NE Way is a troll. Someone with such a totally fucked worldview can't possibly exist.

      But, there I go showing my naivete ;)

    9. Re:I categorically disagree. by Vanders · · Score: 1

      The biggest problem is that a huge amount of code was pulled into Glibc2 from Glibc which is no longer relevent. Just look at all the dead ports under sysdeps/ There are references the AIX all over the Makefiles that don't need to be there. Someone could, and probably should, clean this up but a) It's a lot of work and the maintainers have better things to do & b) Some live ports rely on some of the things provided by those dead ports. #include <sysdeps/unix/bsd/bsd4/foo.c> isn't too uncommon for example. You'd have to carefully test each port every time you removed something to ensure you didn't break anything.

      The actual code, and Makefile system used, is pretty decent and makes porting Glibc fairlt easy.

    10. Re:I categorically disagree. by geminidomino · · Score: 1

      Heh. I never got further than "As a Microsoft Employee." There was no way he could have anything legitimate to say on the subject.

    11. Re:I categorically disagree. by Anonymous Coward · · Score: 0
      glibc's code is due to the problem of supporting so many different platforms.

      False. Compare glibc to NetBSD libc.

    12. Re:I categorically disagree. by argent · · Score: 1

      glibc is unsuitable for all environments where speed, size, or memory constraints are an issue

      Or portability and reliability. How can you maintain long-term compatibility when minor revs in a critical library are incompatible changes.

    13. Re:I categorically disagree. by Anonymous Coward · · Score: 0

      Funny, I have a lot of friends at Microsoft Research that are probably all more qualified to discuss the subject than you.

    14. Re:I categorically disagree. by Anonymous Coward · · Score: 0

      Every time I try to compile NetBSD's libc on Windows and AIX it doesn't work. What am I doing wrong???

  39. BeOS by ayersrj · · Score: 1

    It's the wave of the future. How come OpenOffice hasn't been released for it yet?!

    1. Re:BeOS by izomiac · · Score: 1

      IIRC it's because it needs Java, and that port isn't finished yet. Hopefully a few more open source projects will start paying attention to it when Haiku is released...

    2. Re:BeOS by Anonymous Coward · · Score: 0

      Maybe because BeOS died years ago.

      I thought it was pretty cool too.... In 1998.

  40. IBM Proclaims: Java as fast as C++ by Dancin_Santa · · Score: 1

    As does IBM

    the results show that Java server performance is competitive with legacy environments

    Java servlets outperform CGI, and the Java platform is competitive with C or C++

    Jvm optimizations such as efficient monitor and object allocation implementations have led to significant performance improvements, including better scalability that is vital for server workloads

    1. Re:IBM Proclaims: Java as fast as C++ by Anonymous Coward · · Score: 0

      The problem with CGI is architectural. AppleSoft BASIC would be faster than CGI if it was integrated into the web server properly. For fun, imagine a CGI that invokes a Java class file.

  41. OS X is one by stm2 · · Score: 1

    What I see in mailing list is a lot of questions regarding how to port or how to install OSS in Mac OSX, so please don't port it to OSS. There are also several linuces, so lets settle down to only one to rule them all. (I am being sacarstic here!).

    --
    DNA in your Linux: DNALinux
    1. Re:OS X is one by stm2 · · Score: 1

      I correct myself: Where it says "don't port it to OSS" should read "don't port it to OSX"

      --
      DNA in your Linux: DNALinux
  42. OpenSSH by ArbitraryConstant · · Score: 1

    I suppose the OpenBSD crowd should stop supporting those "other" platforms like Linux with OpenSSH.

    --
    I rarely criticize things I don't care about.
    1. Re:OpenSSH by Anonymous Coward · · Score: 0

      RedHat would probably support that, as it would give them an excuse for introducing a fork which they control.

    2. Re:OpenSSH by ArbitraryConstant · · Score: 1

      There's nothing stopping them from doing that now.

      --
      I rarely criticize things I don't care about.
    3. Re:OpenSSH by synthespian · · Score: 1

      AFAIK, it's not OpenBSD people who do the porting to Linux. Which explains the bugs you get in OpenSSH on Linux, and not on OpenBSD: One team does strictly OpenBSD-based development, aiming to produce code that is as clean, simple, and secure as possible. We believe that simplicity without the portability "goop" allows for better code quality control and easier review. The other team then takes the clean version and makes it portable, by adding the portability "goop" so that it will run on many operating systems (these are known as the p releases, and named like "OpenSSH 4.1p1")(from: OpenSSH

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    4. Re:OpenSSH by ArbitraryConstant · · Score: 1

      "AFAIK, it's not OpenBSD people who do the porting to Linux."

      OpenBSD people do both OpenSSH and the portability goop.

      --
      I rarely criticize things I don't care about.
  43. I don't agree either by toby · · Score: 2, Insightful
    In my experience, porting is like the water of a river washing over river stones. Over time, every port makes the stone smoother. This applies whether it's a new architecture, O/S, compiler, or even just the unfamiliar box of some other user.

    There are bugs that just don't get flushed out until you port to: non-x86; 64-bit; bigendian; Win32; OS X; etc, etc, etc. Drepper should know better: All the world's not a VAX, etc. (though a VAX port is a fine start :-)

    Also, every port makes the process of porting itself easier. It's no coincidence that the most reliable and defect-free software is typically the most-ported software. This has always been true: TeX and METAFONT (where the monetary bug bounty doubled for every bug report, so assured was Knuth of its quality); Apache; Linux itself; NetBSD; GCC and friends; etc.

    --
    you had me at #!
    1. Re:I don't agree either by zerbot · · Score: 1

      The bug bounty doubled each year (not each bug report), and they eventually had to cap it. Many bug bounty checks never got cashed, they got framed and hung on a wall.

    2. Re:I don't agree either by toby · · Score: 1

      No, it definitely doubled for each bug report, in the notice that I recall. (Knuth had more than one policy. One of them is a flat $2 per typo.) Yes, it was eventually capped; I was aware of that but it wasn't a relevant detail. Knuth did not begin with the intention of capping it :-) and it was that confident attitude to which I was alluding.

      --
      you had me at #!
    3. Re:I don't agree either by zerbot · · Score: 1

      http://www.tug.org/whatis.html - details of the bug bounty are at the bottom of the page. Typos in the books are $2.56 each (he's a computer scientist, what did you expect?).

  44. That's nonsense by raddan · · Score: 1
    I've come across many cases of code that relies on the endianness of the x86 and breaks on PPC. Sure, it'll run fine on x86 now, but what if there's a shift in architecture in the future? Look at all the once-big architectures that are dead now: VAX, Alpha, Motorola 680x0... Why write the same code again?

    Porting reveals bugs. Shouldn't we spend time finding bugs? It's not like the BSDs are lagging behind in features...

  45. How much money has IBM put into Java? by Anonymous Coward · · Score: 0

    Can you find a source that doesn't have something to gain by proclaiming Java to be as fast as C++?

  46. Hypocritical by Temporal · · Score: 4, Interesting

    If you write your code to be portable in the first place, fixing platform-specific issues should be quick and easy.

    And, of course, you write your code to be portable because you make sure it runs on the big three: Windows, Mac OSX, and Linux.

    Right?

    Actually, I think a much larger problem is just that: Many OSS developers don't even try to support Windows. Yes, I know you hate the OS and don't want to support Microsoft, etc., etc.. But, how can you complain about major software not supporting Linux when you're writing your own software that doesn't support Windows? Isn't that entirely hypocritical?

    My take: Port your software to every platform you can, especially Windows. This gives freedom of OS to your users. And if you're a Linux user yourself, you should understand just how valuable and important this freedom is.

    1. Re:Hypocritical by proxima · · Score: 1

      But, how can you complain about major software not supporting Linux when you're writing your own software that doesn't support Windows? Isn't that entirely hypocritical?

      I'd argue it's not entirely hypocritical. Sure, it certainly isn't the nicest thing to do and it isn't being entirely consistent, but...

      I would think different programmers would choose not to support Windows for different reasons. Some might be toolkit-related (QT isn't free for Windows, last I checked). Others might only have the time/energy to test for one or two platforms - usually the ones they use personally. Finally, some might believe in promoting free and "more open" (think Mac OS X) OSes by refusing to support Windows. If the application is really stellar, it might encourage use of non-Windows operating systems. Perhaps that isn't the nicest thing to do, but hey, it's their software and if it's open source you can port it if you want to (and plenty of projects have non-core developers start a port).

      --
      "The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
    2. Re:Hypocritical by jdog1016 · · Score: 1

      It may be hypocritical, but that doesn't mean its not effective. If Linux and OS X suddenly have better software than Windows, and people see this, might they be more obliged to make the switch?

    3. Re:Hypocritical by Metzli · · Score: 1

      I understand what you're saying, but isn't this idea a big part of what many FOSS developers and users are encountering to their detriment? Where are the Linux ports of Photoshop, Dreamweaver, MS Office, most games, etc.? I'm not running Linux at the office because of a lack of ports by the IDS, VPN, and firewall vendors. It's their code, but I don't have to be happy that they're not porting to Linux. If many get upset at the proprietary vendors for doing this, why should it not be pointed out to the FOSS crowd that some are exhibiting the same behaviour? If FOSS authors & vendors aren't going to support the OS with the largest number of users, it seems disingenuous to complain to others for not supporting their OS of choice.

      --
      "It's too bad stupidity isn't painful." - A. S. LaVey
    4. Re:Hypocritical by Temporal · · Score: 1

      If Linux and OS X suddenly have better software than Windows, and people see this, might they be more obliged to make the switch?

      Users should choose their OS based on the merit of the OS, not the merit of the software running on it.

      Also, this philosophy forces users to switch all of their software at once. It would be better for most if they could switch gradually (by switching to OSS software while still running on Windows).

      Furthermore, you are locking out users who are completely unable to switch for whatever reasons.

      Basically, you're putting your personal OS preference and ideology above the needs of the user. It's up to you to choose your priorities, but users will tend to prefer software written for them first.

    5. Re:Hypocritical by Temporal · · Score: 1

      Some might be toolkit-related (QT isn't free for Windows, last I checked).

      This is a valid reason, but I would encourage developers to avoid libraries which are themselves not portable for whatever reason. There are cross-platform GUI frameworks available.

      Qt's licensing is unfortunate. I don't understand they don't just make it GPL on all platforms. People selling proprietary software on Windows would still have to pay, and they're the only ones with money anyway.

      Others might only have the time/energy to test for one or two platforms - usually the ones they use personally.

      For very small projects, I can understand this. However, I feel like a serious developer should spend a few bucks for a second system to run alternative OS's. Cheap old junk should be fine if it's just for porting.

      Well-written software should not take more than a day or two to port between Unix and Windows, and a few hours to port between various Unix variants, regardless of code size. Though, unfortunately, not all developers know exactly what needs to be abstracted in order to make their code portable.

      Finally, some might believe in promoting free and "more open" (think Mac OS X) OSes by refusing to support Windows. If the application is really stellar, it might encourage use of non-Windows operating systems.

      I don't accept this reasoning. I think a good developer should put users first, not their own OS preferences and ideologies. Let the user choose their OS based on the merits of the OS, not on what software it has.

    6. Re:Hypocritical by westlake · · Score: 1
      If Linux and OS X suddenly have better software than Windows, and people see this, might they be more obliged to make the switch?

      How much "buzz" did iTunes, Firefox, or OpenOffice generate before being ported to Windows?
      Apple's software product earns consistently good reviews, their publicity machine is second to none, but OSX hasn't gained market share in years.

      If your target is end users, a port to Windows can be very revealing.

    7. Re:Hypocritical by roju · · Score: 1

      Point of interest, but Firefox has had Windows builds since the first release, 0.1.

    8. Re:Hypocritical by Brandybuck · · Score: 1

      Qt's licensing is unfortunate. I don't understand they don't just make it GPL on all platforms.

      The very strong rumour is that Qt 4.0 will be GPL for Windows.

      --
      Don't blame me, I didn't vote for either of them!
    9. Re:Hypocritical by Temporal · · Score: 1

      Then compare it to Konqueror, which was way ahead of Firefox at one time but never had a Windows port.

      Yeah.

    10. Re:Hypocritical by Tim+C · · Score: 1

      If the application is really stellar, it might encourage use of non-Windows operating systems.

      It would have to be a truly killer app to do that, and off the top of my head I can't think of any. Even apache httpd, one of the true OSS success stories, is available for Windows, and so not a compelling reason to switch on its own.

    11. Re:Hypocritical by Anonymous Coward · · Score: 0

      How much "buzz" did iTunes, Firefox, or OpenOffice generate before being ported to Windows?
      Apple's software product earns consistently good reviews, their publicity machine is second to none, but OSX hasn't gained market share in years.


      OS X is expensive, and the goodness you are talking about Apple's software is good for little more than numbing the minds of the feeble.

      Also, OS X is gaining marketshare.

    12. Re:Hypocritical by Anonymous Coward · · Score: 1, Insightful

      But, how can you complain about major software not supporting Linux when you're writing your own software that doesn't support Windows? Isn't that entirely hypocritical?

      Hmm... let's see: the major software costs money, and I'm giving my work away for free. If they port, they get extra sales. If I port, it means I waste my valuable personal time doing something I don't want to do. Since I give my code away, anybody who really wants my application ported can do it themselves or pay somebody else to do it. Since the major software doesn't come with source and isn't freely redistributable, we are utterly dependent upon its developers for a port.

      They are simply two completely different scenarios. No hypocrisy.

    13. Re:Hypocritical by Anonymous Coward · · Score: 0

      Windows is totally bizarre, a port to Windows is often many orders of magnitude harder than any other port, simply because of Microsoft's Not Invented Here policies.

      For example, on nearly every platform OpenGL is a first class API, an application written for OpenGL integrates with the other OS features and you can get the job done. On Windows these APIs have been crafted to work in conjunction with Direct3D, so if you use OpenGL you have to use poorly documented backdoors, workarounds etc. to get the job done. Your code ends up with huge swathes of

      #ifdef WIN32 /* nasty, horrible workaround */
      #endif

      The same happens with network code (everyone else implements the POSIX networking stuff aka BSD stack, as documented by the IETF, but Microsoft has its own private parallel system of network APIs, so sometimes you have 50+ platforms supported by one line of code, and then a 400 line sub-routine that invokes threads to get the same job done in Windows.

      At the very bottom of the software stack Microsoft have chosen a different Unicode encoding (one which requires you to care about endian problems and is essentially useless on the network) and a different 64-bit ABI (they fell upon P64 while absolutely everyone else picked LP64 a long time ago).

      So there's a good chance that if you have a somewhat low-level portable program with say 50 000 lines of code, as many as 5000 of lines are dedicated just to making it work on Windows. If it were a fresh face on the market, everyone would say "This is hopelessly broken, go away and fix it", but because it has market share we all have to waste lots of time trying to support it.

    14. Re:Hypocritical by Bert64 · · Score: 1

      But in order to port to windows you need to own a windows box and a suitable compiler, which costs money you as a developer may be unwilling to spend..
      Also, unless you use things like cygwin, your app which compiles and runs on multiple unixes quite happily will require extensive modification to run on windows, the graphical interface especially is very different from X11..
      Also, even if you do use cygwin you will often encounter lots of strange bugs.. As an example, i wrote a program that worked correctly on linux, bsd, aix, irix, sunos, solaris, tru64 etc faultlessly, and would often stay running as long as the machine did.. when i ported it to cygwin, i got random data corruption on files and sockets, problems with locked files, problems with the lack of case sensitivity.. I'm not sure if these bugs are caused by cygwin, windows or both..

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    15. Re:Hypocritical by Bert64 · · Score: 1

      Because if an OSS author decides not to support a platform, it's because he has no use for running his app on that platform, and if people do have such a requirement, they can port it themselves.. This is what usually happens infact..
      With a proprietary app, your screwed if the vendor doesn't support your platform.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    16. Re:Hypocritical by djmurdoch · · Score: 1

      Windows had Unicode before UTF-8 and the more modern encodings were invented, so that one at least isn't a "Not Invented Here" policy.

    17. Re:Hypocritical by Anonymous Coward · · Score: 0

      The very strong rumour is that Qt 4.0 will be GPL for Windows.

      Since when is an official press release a "very strong rumour"?

      Qt 4.0 WILL be GPLed. There's no "rumour" about it.

    18. Re:Hypocritical by justins · · Score: 1
      But in order to port to windows you need to own a windows box

      Unless you're one of those rare folks who jumped through the hoops required to return the license of windows that came with your computer... you've got it.

      and a suitable compiler,

      Use cygwin, or maybe just mingw.

      Also, unless you use things like cygwin, your app which compiles and runs on multiple unixes quite happily will require extensive modification to run on windows, the graphical interface especially is very different from X11..

      So... Use cygwin, or maybe just mingw.

      Also, even if you do use cygwin you will often encounter lots of strange bugs.. As an example, i wrote a program that worked correctly on linux, bsd, aix, irix, sunos, solaris, tru64 etc faultlessly, and would often stay running as long as the machine did.. when i ported it to cygwin, i got random data corruption on files and sockets, problems with locked files, problems with the lack of case sensitivity.. I'm not sure if these bugs are caused by cygwin, windows or both..

      Portability requires some effort. Life sucks. Wear a hat.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    19. Re:Hypocritical by jdog1016 · · Score: 1

      >> but OSX hasn't gained market share in years. Until very recently this was true. But actually, Apple gained 1% in the last quarter and is projected by Morgan Stanley to have 6% of the market by year's end.

    20. Re:Hypocritical by Bert64 · · Score: 1

      No, i don't have windows atall..
      The only machine i have which is capable of running a current version, was a self-assembled AMD64 based machine, none of the individual components in that machine shipped with windows..
      Aside from that, i have some alphastations (which i guess could run nt4 if i had it, but they shipped with tru64/digital unix) some sparcs, a mac and some pa-risc machines.. None of these came with any version of windows

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  47. You say that like its a bad thing... by kimanaw · · Score: 2, Insightful
    As someone who has supported multiplatform s/w that's hosted on

    • Win32
    • Linux (various, incl. PPC)
    • Solaris
    • AIX
    • HPUX
    • OS X
    • FreeBSD
    • MVS
    • OS/400
    • multiple other "minor" Un*x platforms
    • a Zaurus
    • a PocketPC
    • some routers running a proprietary kernel

    ...I call BULLSHIT!

    The bugs one finds on "minor" platforms usually end up being bugs on the "major" platforms you just haven't found before. Of course, for those of you still intent on/forced to write code in C/C++, you're likely getting your just desserts.

    --
    007: "Who are you?"
    Pussy: "My name is Pussy Galore."
    007: "I must be dreaming..."
    1. Re:You say that like its a bad thing... by fred+fleenblat · · Score: 1

      Not just bugs, but I've found it's a huge help to see the compiler warnings from multiple platforms, even if you don't specifically support all the platforms. Compiler warnings almost always indicate a source-level problem that transcends the platform.

      Sure a lot of warnings are stupid and should be ignored. What I like to do is pick a nice set of compiler warning options that are slightly too picky, and then use a grep/sed script to filter out the warning messages that are just useless or nitpicky and try to get a clean cross-platform compile.

  48. If they only affect exotic platforms it is a waste by glrotate · · Score: 0

    Sure, there are examples of "Gee, this would have been a major security problem if not for the Vax port". But most of what you see on this lists are just, "Waah, it doesn't compile on my Amiga." Well who cares? Assumptions were made, assumptions that cover 90% of the users. Go buy a PC and load Linux already.

  49. Core OS API standards the key to better software p by Eravnrekaree · · Score: 1

    I believe most of the problem with having to spend large amounts of time to port an app to different OSs could be fixed by each OS supporting the same basic API calls and command line and compile tools, as defined in things such as POSIX and Single Unix Spec, in order to assure source compatability, the ability to recompile an app on any OS with no modifications. It seems one of the biggest offenders in making portability difficult is Windows, and a lot of time has to be wasted to port to that platform.

    Many OSs, as well, support each others binary formats as well. FreeBSD can run compiled Linux applications, which is possible since Linuxs libraries, etc, are open source and can be used to support such binary compatability on other OSs. FreeBSDs Linuix support is pretty fast too, with little or no performance hit.

  50. They have one thing going for them... by Anonymous Coward · · Score: 0

    ...they are immunte to goatse, tubgirl, and lemon party.

  51. Flame boys begone by Moby+Cock · · Score: 1

    I think its useful to point out that MS tries to be all things to everyone (with varying degrees of success) and it has not hurt them (yet). Furthermore, tinkering is what OSS is built on. To say that tinkering with obscure harware/software is harming OSS is really rather foolish.

  52. Sure. by Dancin_Santa · · Score: 1

    Academics looking at the question

    Java is now nearly equal to (or faster than) C++ on low-level and numeric benchmarks. This should not be surprising: Java is a compiled language (albeit JIT compiled).

    1. Re:Sure. by Mad+Merlin · · Score: 3, Interesting
      I was curious about this myself before actually, here's what I tested:

      primetest.cpp
      primetest.java
      primetest.pl (for fun, because I like perl)

      Using Java Blackdown-1.4.2-01, gcc 3.3.5-20050130 and perl 5.8.5 on a 1.3 Ghz Pentium-M, I get these results:

      neil@t40-n Documents $ javac primetest.java
      neil@t40-n Documents $ time java primetest

      real 0m7.809s
      user 0m7.700s
      sys 0m0.033s
      neil@t40-n Documents $ g++ primetest.cpp -o primetest
      neil@t40-n Documents $ time ./primetest

      real 0m2.699s
      user 0m2.676s
      sys 0m0.007s
      neil@t40-n Documents $ time ./primetest.pl

      real 0m47.928s
      user 0m46.207s
      sys 0m0.138s
      neil@t40-n Documents $

      How about you? Sure it's a trivial benchmark, but it definitely shows Java way behind (by a factor of three!) C++ for number crunching. Of course we see Perl well behind both, but it's definitely not meant for number crunching, so no surprise really.

    2. Re:Sure. by Anonymous Coward · · Score: 0

      Problem is that you are measuring environment startup time more than the actual program.

    3. Re:Sure. by Anonymous Coward · · Score: 0

      Dude, that's because Java had to load the VM before it even started number crunching. Next time try printing the time to stdout in all three of your programs just before performing the calculations and just after finishing them. I think you'll find the difference in that situation to be negligible.

    4. Re:Sure. by Anonymous Coward · · Score: 0

      Hmm. I think too much startup time is timed in here.

      Please post stats for something that runs at least 10 minutes. I think you might drop a factor or so between c++ and java....

      Would also be worth not using blackdown, try sun's jvm.

    5. Re:Sure. by Temporal · · Score: 1

      For simple numeric code, Java is plenty efficient, sure.

      For real code that utilizes abstraction, synchronization, etc., Java can't be as fast as C or even C++. Though, in practice in most software I would say the difference is irrelevant.

      The real problem with Java is memory usage. I know Java developers who have found that in large-scale projects, they need to reduce the object orientation of their system in order to improve memory usage. Objects have a whole lot of overhead in Java that they just don't have in C++. Every object contains a mutex, a signal, type information, and other crap.

      As an extreme example, imagine trying to represent a 3D model using an array of vectors. You would like each vector to be a Vector object, right? Bad idea. Every one would have to be allocated separately, and would carry Java object overhead far larger than the 12 bytes needed to store the vector's coordinates. So instead you have to do things the old-fashion C way and use parallel or interleaved arrays. Ick.

      All that said, I think Java is a decent choice for many types of software... But if all my apps were written in it, my GB of RAM would be gone way too quick.

    6. Re:Sure. by Mad+Merlin · · Score: 3, Informative
      Here are some more results, everything is the same unless otherwise specified: Using 10,000,000 instead of 1,000,000:

      neil@t40-n Documents $ time java primetest

      real 2m41.851s
      user 2m41.439s
      sys 0m0.144s
      neil@t40-n Documents $ time ./primetest

      real 0m59.801s
      user 0m59.618s
      sys 0m0.056s

      Using -O3 for gcc with 10,000,000 instead of 1,000,000:

      neil@t40-n Documents $ time ./primetest

      real 0m54.883s
      user 0m54.755s
      sys 0m0.047s

      Using int instead of long with Java and 10,000,000:

      neil@t40-n Documents $ time java primetest

      real 1m6.386s
      user 1m5.930s
      sys 0m0.128s

      Ah hah, well that would explain it. I guess you do learn something new every day. Certainly a far cry from the ~3x difference initially observed.

      I didn't bother repeating the perl test with 10,000,000 however...

    7. Re:Sure. by Anonymous Coward · · Score: 0

      If you go so far as to give java the advantage of changing the type, the VM, and so on, why don't you compile the C++ version with a good compiler, like xlc or icc?

      icc simply optimizes the loop away entirely, runtime of 0.3 ms on my machine.

    8. Re:Sure. by Stauf · · Score: 1

      There are a few instances where Java will overtake C, they're specfic though, not general case. For example, if the application is large, doesn't draw much of a GUI, does a lot of easily optimised calculations (like matrices) and is allowed a reasonable running time, Java can be faster.

      Largely though, this is because C programs are usually compiled for i386 and not for a processor with something like SSE - the JIT compiler, written correctly, should be able to use the advanced processor features without the programmer knowing about them.

      Also, Java GUIs are clunky. They take a long time to redraw, a long time to react, etc. when compared to GUIs that use native widgets.

      And finally, the program has to be large enough so that the memory and CPU time used by the JVM isn't significant. I have done benchmarks (for a uni assignment) that show this, and it's fairly easy to check - write a console app to sum two large matrices. Java will come out ahead, but only barely (my results were in the order of seconds per hour).

      Also, keep in mind in the above prime number test that the 0m7.809s for the java version included the time for the JVM to initialise. In a real world situation, this would just add to the app loading time by a few seconds and not have a lot of bearing on the actual calculation speed.

    9. Re:Sure. by Anonymous Coward · · Score: 0

      He's changing the types because of C's idiosyncrasy, where long is the same as int, while in java, long is actually 64bit which the grandparent didn't realise while whipping up his benchmarks, as he probably got the result he was expecting and didn't bother to check any further.

      Of course java is slower if it has to do more work. (duh!) Most of the difference thats left after that change will probably be JVM start up time.

    10. Re:Sure. by neonstz · · Score: 1

      Here are my results, on an UltraSparc III (Sun Blade 1000) running Solaris 10.

      Here are the results using 32 bits integers:

      java 1.5.0_01:
      $ time java primetest
      real 2m28.685s
      user 2m28.539s
      sys 0m0.131s
      forte 8 with -fast:
      $ time ./primetest
      real 1m1.748s
      user 1m1.718s
      sys 0m0.014s

      Here are the results using 64 bits integers:

      java 1.5.0_01:
      $ time java primetest
      real 2m30.467s
      user 2m30.280s
      sys 0m0.133s
      forte 8 with -fast:
      $ time ./primetest
      real 1m36.319s
      user 1m36.266s
      sys 0m0.018s
      For some reason the 32 bit c++ version was a lot faster than the 64 bit version, but the 32 bit java version ran only a tiny bit faster than the 64 bit version. The reason for this may very well be the c++ compiler, which is a bit old.
    11. Re:Sure. by Anonymous Coward · · Score: 0

      That's a really stupid benchmark if I ever saw one. For starters, the one-time constant loading time of launching the vm and such is a lot higher than for the c++ -program.

      Second, as someone else pointed out you're using long instead of ints in the java-program, which is 64 vs. 32 bits.

      And last, you're running the client-vm which is a lot slower than the server-vm for long tasks. Try time java -server primetest.

      Whatever "factor of three"-results you got are completely bogus.

    12. Re:Sure. by Nick+Mitchell · · Score: 2, Informative
      hello! some issues with your experiments:
      1. you didn't seem to compile the c++ code with optimizations. i suggest compiling with -O2.
      2. for the kind of code you chose, you used a bad provider for java. i suggest the IBM 1.4.2, which is flat out the fastest x86 VM on the kind of code you provided.
      3. you didn't use the VM version for the java you chose. if you are going to run a sun-based VM, then, for the kind of number-crunching code you provided, you should use the "-server" option. the hotspot-based JIT is optimized for a different kind of code (UI, interactive)
      on a 1.6GHz pentium-m running linux, i get:
      • c++: 2 seconds
      • IBM 1.4.2 java: 2.4 seconds
      • sun 1.5.0 -server java: 4.8 seconds
      • sun 1.5.0 -client java: 7.7 seconds
      (times are best of 4 consecutive runs using, as you did the "time" command) nick
    13. Re:Sure. by Anonymous Coward · · Score: 0

      On my system (linux on opteron), long is 64 bits, just as in java. Nonetheless, C++ is at least 2x as fast.

    14. Re:Sure. by Anonymous Coward · · Score: 0

      I ran several benchmarks comparing speed of number crunching between JDK 1.2 and C on a Pentium I machine running Windows. You definitely have to let it run for several minutes at least to have meaningful data. Overall, my conclusion was that Java ran around 30% slower than C.

    15. Re:Sure. by Mad+Merlin · · Score: 1
      Here's (yet) more results, all using 10,000,000:

      neil@t40-n Documents $ g++ -O3 primetest.cpp -o primetest
      neil@t40-n Documents $ time ./primetest

      real 0m54.903s
      user 0m54.692s
      sys 0m0.062s

      neil@t40-n Documents $ time java -server primetest

      real 0m49.468s
      user 0m49.181s
      sys 0m0.082s

      Using J2RE 1.4.2 IBM build cxia321420-20040626:

      neil@t40-n Documents $ time java primetest

      real 1m1.570s
      user 0m59.739s
      sys 0m0.149s

      ICC (optimization flags as suggested here, plain -O2 and -O3 were the same speed as gcc with -O3):

      neil@t40-n Documents $ icc -O2 -tpp7 -xW primetest.cpp
      neil@t40-n Documents $ time ./a.out

      real 0m49.635s
      user 0m49.345s
      sys 0m0.051s

      Note that the original primetest.cpp would not compile with icc initially, I had to include math.h instead of iostream. IBM's Java runtime also does not appear to have a -server option.

    16. Re:Sure. by TheRaven64 · · Score: 1

      My suspicion is that a lot of the time taken by Java is the initial loading and JIT compiling of the Java code. This happens once at the start of a program (and in a good VM is then cached for the next time). Try making each app execute the working component a few hundred times, and see what the speed difference is then.

      --
      I am TheRaven on Soylent News
  53. He is wrong on all counts. by bluGill · · Score: 4, Insightful

    It is rare that I can say someone is wrong on all counts, but I have not found one defensible statement in there. (Though I guess one could be hidden and I missed it)

    His first mistake is thinking GNU is everything. Maybe for him it is, but for most people we use what works. When the boss sets me down on a AIX machine I want it to work - I'm not allowed to install Linux (though I'd install *BSD if I could wipe the OS), I'm supposed to get work done.

    Minorities are useful despite the cost of working with them. Bugs that are 1 in a million may happen every time on AIX. 1 in a million bugs are very hard to find. I've spends days looking at a partial crash trace wondering why it broke, and if it will happen again. With no known way to duplicate the bug it is really had to fix, and hard to be sure the 'fix' works. When it fails every time the bug is easy to fix.

    Good programmers should have no problem writing cross platform code. When your code breaks on AIX, it is a sign of bad code - even if the breakage is because AIX doesn't have a function you expect.

    Cross platform compilers (gcc) are much easier for me to work with. Because gcc is cross platform I can compile my stuff at home and debug it, than bring it to work and compile it and assume it works. Particularly with gcc 2.95, the support for C++ was so bad that you could not count on code written for that to work on a better compiler.

    Speaking of gcc 2.95, other vendors have had better compilers for years, while gcc is only arriving. Even today, gcc isn't a great c++ compiler. (though 4.x is much better) There is no point in throwing stones at other vendors - their compilers may have been expensive, but they at least worked close to right.

    The upper/lower case differences with Windows are a non-factor. You should never have any word that differs by case only - it leads to many bugs if you do.

    The API differences on Windows are mostly handled by Cygwin and mingw. Those areas that are different are places where you should have your code modular anyway. Mostly we are talking about device and networking code. IPv6 is on the way (has been for 10 years now...), you need some difference code to support that. There is no standard for device code - what works on OpenBSD won't work on linux, or FreeBSD.

    True almost nobody cares are VAX - but it is interesting anyway. If you code is modular like it should be, then supporting those weird things isn't a big deal - you write you code, and let those are care about it test.

    A short summary: There should be only one OS that anyone runs: RedHat Linux enterprize edition on x86. (not x86-64) Not Fedora core, much less gentoo or those other non-redhat distributions. You FreeBSD people can go to hell.

    He wants to take his ball and go home, I don't care, we are better off without people like him in the open source world.

    1. Re:He is wrong on all counts. by bani · · Score: 3, Informative

      just FYI. mingw doesn't deal with api differences at all. mingw is just a gcc port which can emit win32 PE binaries. a good deal of mingw effort is spent writing free versions of win32 dlls to link against. but they don't abstract or translate APIs -- they're just free implementations of the win32 SDK.

      cygwin does deal with api differences however. it's a completely different beast.

    2. Re:He is wrong on all counts. by sv0f · · Score: 1

      Spot on.

    3. Re:He is wrong on all counts. by dvdeug · · Score: 1

      When your code breaks on AIX, it is a sign of bad code - even if the breakage is because AIX doesn't have a function you expect.

      Why? A good programmer reuses code where possible. It's better code to use GNU MP or another such package, even if it doesn't run on AIX or some other random system, than to rewrite it.

      He wants to take his ball and go home, I don't care, we are better off without people like him in the open source world.

      Really? Ulrich Drepper may be an asshole, but he is the maintainer of GNU Libc, which seems to work. Can you really judge how important he is to the open source world from reading one essay?

    4. Re:He is wrong on all counts. by syousef · · Score: 1

      Well put!!!!

      --
      These posts express my own personal views, not those of my employer
    5. Re:He is wrong on all counts. by cimetmc · · Score: 2, Interesting

      Ulrich Drepper certainly is an important contributer of OSS by being the GLIBC maintainer. However specifically the glibc project is often a huge source of problems because of all the "magic" glibc tries to do in its headers. For the last few version of GCC, all this "magic" actually causes the compiler to produce worse code compared to if the header files would just restrict themselves to define the appropriate macros and prototypes. More than once, the GCC folks have to strugly to get newer versions of GCC to work with older versions glibc because of all the cruft in it.

      I think before criticizing maintainers for other platforms where GCC is ported, he should look at how much special work his own project causes for GCC and see if he can do his own contributions to making GCC development easier by simplifying the glibc headers.

      Marcel

    6. Re:He is wrong on all counts. by Anonymous Coward · · Score: 0

      Ah, he's the glibc maintainer - so *that's* why he's going on about glibc being the largest project to do platform restriction.

      FreeBSD does fairly aggressive platform restriction, and is larger than glibc.

      And I think it would definately be a problem to have just one OS. It hinders experimentation, lose flexibility, and gives the security problems of a monoculture. So it's far from ideal.

      Of course, the increase power that Ulrich Drepper sees for himself in that configuration might be ideal from his perspective ;)

    7. Re:He is wrong on all counts. by argent · · Score: 1

      Ulrich Drepper may be an asshole, but he is the maintainer of GNU Libc, which seems to work.

      GNU libc has been responsible for a continuing low grade pain in the butt for both commercial and open source software. Every major upgrade to libc has been a "flag day" that every open source project in the world has had to stop and deal with, and even minor upgrades can be painful. It's like it's being developed by someone who just doesn't care about portability and compatability.

      After reading this essay, I guess I can say that's because it's being developed by a guy who doesn't care about portability and compatibility.

    8. Re:He is wrong on all counts. by drew · · Score: 1

      The man does have one good point, no matter how poorly he managed to express it. while it is good to make your software portable, it is bad (and unnecessary) to slow down the progress of a project as a whole for the sake of a small minority, especially if that small minority can't or won't contribute the changes by themselves. the debian project is a great example. while it's great that debian runs on so many different architectures, and i don't think they should stop that, part of the immense delay behind the upcoming stable release is that they wouldn't release any for any platform until all of the 'major' platforms (some of which did not have active maintainers, from what i understand) were ready. at some point, it makes sense to say "if you want this code to run on your platform, you have to fix it, because i don't have the time, resources, or whatever else i need to do it properly." (on the other hand, his suggestion that these fixes, when they are made, be maintained outside of the official project tree seems rather pointless)

      of course, he managed to surround his one good point with so much personal sniping, attacks on various software vendors, political ideology, and various other self serving BS that it's hard to take any of what he says in this rant seriously. but then, he's never been known to be the easiest project maintainer to get along with, and i suspect people who have followed glibc development for any length of time are not surprised in the least by anything he says here.

      --
      If I don't put anything here, will anyone recognize me anymore?
    9. Re:He is wrong on all counts. by bonkeroo+buzzeye · · Score: 1

      There is *one* thing he's right about. Phrases like this made me think of it: "The worst part is that it is self afflicted [sic]. The more structured and democratic of these collaborating groups give themselves guidelines and this is where things can go wrong."

      A big point in favor of Linux that many advocates stress is that Linux is not owned by a company and can't be bought or sold or taken away. Leaving aside how realistic that may be, even if we accept that it is a 'democracy', Linux can be corrupted and ruined by the malicious impulses or stupidity of the 'opinion makers' and the 'followers'.

      In other words, Drepper is unfit for his position on technical grounds (constant breakage) and on social grounds (constant flames) and on political grounds (he would corrupt the democracy of open source and turn it into a fascist uniformity bent on world domination). Based on his own comments, that last is unfortunately no hyperbole.

      Linux and open source users do need to beware of their own prevalent attitudes or risk ruining the thing they claim to support. And giving Drepper any more influence or authority would be an example of that. This is *not* the kind of person who should be maintaining such a critical component. Those godless AIX users are trying to put flouride in the water and take his manly essence.

      If this seems 'ad hominem', it's because it is - it's specifically my point. But it applies to everyone - if technical excellence and freedom are really what we're about, we have to pursue technical excellence and freedom. We cannot cut corners because it's too hard and 'force people to be free' because it's 'in their best interests'.

      "...we are better off without people like him in the open source world."

      In a sense my whole post is in agreement with this but I'd modify it to say 'without people like him *shaping policy* in the open source world'. He serves as an excellent cautionary example and, as such, has his use in the open source world.

  54. Re:platform-specific bugs? Doubtful by runningduck · · Score: 5, Insightful

    Porting software to different platforms has two distinct benefits:

    1) identifying subtle bugs

    2) preparing software for future platforms

    - Subtle Bugs -
    As stated in the parent post, porting software to various platforms help uncover bugs that may not surface during routine testing in a mono culture.

    - Future Platforms -
    Making software portable prepares software for the future. As computer technology advances, software that has been developed to be portable will be the first code running on the new hardware. I could go on and on about this, but I think the recent articles regarding Intel's Itanium already make this point loud and clear.

    --
    -rd
  55. If it's the same person supporting both platforms by Anonymous Coward · · Score: 0

    ...I can see where that would be a problem, but if the project is diverse enough to include people more skilled in Windows, BSD, Macs, or whatever than in Linux, I'm not sure you would gain much by forcing them to stick just with Tux instead of the Borg, the demon, or the fruit.

  56. Severely OT and trollish by homerj79 · · Score: 1

    Is is just me, or did I first read his name as Ulrich Drpepper?

    --
    SYSOP ('sih-sop) n.: the guy laughing at your typing.
  57. Geebus, RTFA'ing was like reading Lenin! by idontgno · · Score: 1
    Was it me, or did Ulrich sound distinctly like he was arguing for the Dictatorship of the Proletariat, at least until the perfection of New Free-Software Man and the inevitable rise of International Socialism^h^h^h^h^h^h^h^h^h Software Freeism?

    I philosophically support Free Software. (And no, I don't have to show you my Party Credentials.) But loose talk about purges of counterrevolutionary elements and collectivization of software development really freaks me out.

    News flash: Communism rightly failed. Take Free Software down its path only if you want it to fail too.

    Well, some neo-Stalinist Free Software chekist will probably downmod me. Is this how Leon Trotsky felt? (I mean, before he got the ice axe in the head.)

    Keep Free Software FREE! Once you begin rounding up and interning the minorities, you are taking the first steps toward a new totalitarianism!

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
  58. Porting helps rid software of bugs. by John+Harrison · · Score: 5, Insightful

    As you say, there are examples where porting has helped a project. I know that in porting one of my games to four platforms (Classic Mac OS -> Windows -> Linux -> OS X) has helped eliminate bugs that I never knew were there. Also, I learned things that have made my later projects easier to port since I more able to write them "correctly" to begin with. By avoiding platform specific libraries and techniques I write better code.

    1. Re:Porting helps rid software of bugs. by archeopterix · · Score: 2, Insightful
      As you say, there are examples where porting has helped a project. I know that in porting one of my games to four platforms (Classic Mac OS -> Windows -> Linux -> OS X) has helped eliminate bugs that I never knew were there. Also, I learned things that have made my later projects easier to port since I more able to write them "correctly" to begin with. By avoiding platform specific libraries and techniques I write better code.
      Contrast this with the paragraph below:
      Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here's the amazing part: On beta versions of Windows 95, SimCity wasn't working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn't free memory right away. That's the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.
      Your conclusions might vary on the day. Be sure to write down your findings in your notepad.
    2. Re:Porting helps rid software of bugs. by korbin_dallas · · Score: 1

      Amen! True in every sense, being cognizant of portability is the mark of a true coder. So in conclusion, you can say that the RedHat coders suck.

      I've known this for years, apparently many do not.

      BTW if CowboyNeal KNOWS that bots are posting, why not filter them, instead of burdening us??? I hate this 'type 5 letters' nonsense.

      And does a bot reply appear MORE coherant than the rantings of a real person???

      --
      They Live, We Sleep
  59. He does have a point by ShatteredDream · · Score: 0, Offtopic

    The problem with all of this "choice" is that to be able to compete with Windows, MacOS X or even Zeta in the long run, Linux distributions have to have all of their components that tightly integrated. That means that ideally the KDE, X.Org and Linux developers need to be all on the same sheet of music to make sure that their components work very, very well together. Most people cannot even tell you what GDI is on Windows, or Quartz is on MacOS X, so why should they have to know what X.Org is and why they need to care about it?

    This is the painful reality for these developers. The average buyer doesn't want a distribution, they want a complete operating system. KDE + X.Org + Linux is a cobbled together setup, Windows, MacOS X, Syllable, BeOS, etc. were and are not. That's what they expect, and it may mean that some of the smaller projects have to take on a lot of work. So be it. If you want desktop Linux to work well, and be a true replacement for Windows, then it may mean that the KDE and/or GNOME guys have to go Linux only or that another project has to be started that creates a complete and pure Linux operating system that is a "total experience and environment" rather than a collection of packages.

    The difference is fundamental, not symantic. It means that the projects must be coordinated together with one vision, one plan and a goal of one end result.

    1. Re:He does have a point by Zontar+The+Mindless · · Score: 1

      > The average buyer doesn't want a distribution,
      > they want a complete operating system.

      The average buyer can't tell the difference, so long as the bloody thing WORKS. Which most Linux (and even some BSD) distros do OOTB these days.

      > ...so why should they have to know what X.Org is
      > and why they need to care about it?

      Gee. I run Linux and FreeBSD and I don't really care about X.org when using either.

      > KDE + X.Org + Linux is a cobbled together setup,
      > Windows, MacOS X, Syllable, BeOS, etc. were and
      > are not.

      Windows sold zillions of copies back in the 9X days and its being a GUI shell on top of DOS didn't stop that from happening. MacOSX is -- guess what? -- a GUI shell running on top of BSD (Darwin). It seems to be selling pretty well these days. As for Be, I have nothing against it, but it looks kinda dead to me.

      > If you want desktop Linux to work well, and be a
      > true replacement for Windows...

      But I don't want it to be a "true replacement for Windows"; I quit using Windows because I came to realise that Windows fundamentally sucks and I hate it. I wanted something better than Windows. This is why I switched to desktop *nix. Which -- unlike Windows -- works well.

      > then it may mean that the KDE and/or GNOME guys
      > have to go Linux only or that another project
      > has to be started that creates a complete and
      > pure Linux operating system that is a "total
      > experience and environment" rather than a
      > collection of packages.

      Huh? Just how much of that MS Kool-Aid have you been drinking there, matey? This is simply absurd -- as if you don't have to install apps on Windows? And sometimes have to download DLLs so they'll work? And sometimes have them overwrite other DLLs and break stuff?

      > ...one vision, one plan and a goal of one end
      > result.

      How is this different from Ein Volk, Ein Reich, Ein Führer? Sorry - trick question. It isn't any different. It's unthinking dogma.

      Feel free to stay out of my way whilst I use stuff that works fine for me and do not discourage the folks who are nice enough to develop it for me because they fail to pass some cockeyed ideological purity test.

      And the fact that there are people who would suggest that such a test is required for FOSS to enjoy success quite frankly scares me.

      Thank you.

      --
      Il n'y a pas de Planet B.
    2. Re:He does have a point by synthespian · · Score: 1

      KDE + X.Org + Linux is a cobbled together setup,

      Yes. Linux is a legion. *BSD is a tighter platform. They're not so much a bunch of assembled parts.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    3. Re:He does have a point by Anonymous Coward · · Score: 0

      But I don't want it to be a "true replacement for Windows"

      Heyyyy... somebody gets it! Mod parent up.

  60. I hope he writes C better than he writes English. by porkchop_d_clown · · Score: 0, Offtopic

    'cause if his code is like his blog, it's pretty bug ridden.

    ...multiple configurations mean diverts energies....
    ...even to undeserving once like...
    ...more about winers who complain ...

    Damned, ungrateful oenophiles!

  61. Ya! by Jozer99 · · Score: 1

    Ya! Lets kill all those pesky platforms. For instance, Windows has a 90% market share. Kill everybody else off, and have them expend their efforts on making that more secure. Oh wait, its closed source. In truth, basically everyone who works on open source does so because they want to, and not just do right by the community, but on a certain project. For instance, if Linux dropped DEC Alpha support, for the most part, the DEC Linux community would not all see the light and switch to maintaining x86 stuff, they would simply stop being participants, since their interest was not longer a platform. In the most extreme cases, all the jilted people get so angry they abandon the community and fork their own version of whatever software their are crazy about (cough cough BeOS).

  62. Re:If they only affect exotic platforms it is a wa by Rich0 · · Score: 1

    As others have suggested, the users change over time. Assumptions can paint you into corners.

    For example, the intel world is slowly moving to 64-bit platforms. Clearly we aren't there yet, but things are steadily moving in this direction. It will probably be similar to the slow migration to 32-bit code that happened in the mid-90s with Win95.

    If you've built up something the size of OpenOffice with 32-bit assumptions all over the place, you'll end up getting left behind. On the other hand, if your code is already clean then you'll move right along. (Incidentally, openoffice is one of the few open source apps with poor 64-bit support.)

    Assumptions are fine, however poorly understood assumptions are not. If you understand your assumptions then working around them usually isn't all that hard. If you don't understand your assumptions then sooner or later you'll get burned...

  63. AHHHH! No! Wrong! by Stankatz · · Score: 1

    There are two reasons why this is wrong. First, many open source developers don't make use of existing cross-platform tools. Example: if you need a GUI, don't write different platform-specific code for every platform, just use FLTK. Need threads, use OpenThreads. That's what these libraries were designed for. If the Octave developers had done this, maybe it wouldn't take six months to get the latest version to compile for Windows.

    Second, VC++ is not the Windows compiler. It amazes me when developers who use Linux don't even know about MinGW, or think that it is dead. Most Linux projects will build with MinGW with only minimal changes to the makefiles. From the article:
    "Many of the GNU projects are ported to a wide variety of platforms, even to undeserving once[sic] like cygwin and mingw."
    Guess what, Mr. Drepper, if the code was written properly in the first place, you wouldn't have to "port" the project to MinGW at all.

    I would argue that not writing a cross-platform project that works with Windows and Mac, is harmful. And since when are Windows developers a "minority". Maybe on /., but not in the real world.

  64. Yes. by porkchop_d_clown · · Score: 1

    Setting aside the argument that open source == linux, he does have a point - even within Linux itself.

    My company sells custom hardware that runs on Linux. 75% of our effort is making sure that our drivers run on every !#$@%!@ variation and distro. We earnestly hope that someone's drivers for our type of hardware will end up part of the kernel - simply because then we can build our hardware to match the kernel and leave support of all the distros up to the lunatics who seem "tweak" the kernel APIs on every single dot release.

  65. Debian's more about leadership attitudes, I think by jesterzog · · Score: 3, Informative

    But having a requirement that something work on a large number of platforms slows down the release cycle.

    I'm not sure that I agree. To me, the Debain delays seems to be at least as much a political and leadership thing. In particular, consider how quickly Debian went into a freeze for a new release after a change in leadership. Granted that it's a week behind schedule, but the green line is now going down rapidly, and we're expecting a new release within a matter of days. If it was so difficult to support and release on multiple architectures, this likely wouldn't have been able to happen.

    I'm not trying to imply that the old Debian leadership was necessarily bad or that the new leadership is particularly good. But a change in attitudes very quickly resulted in a new release. This suggests that support on lots of architectures has little to do with it, whereas leadership attitudes has a lot to do with it.

    We'll have to wait and see just how reliable Debian Sarge turns out to be when it's promoted to stable, of course. (Disclaimer: I run debian sarge on my home workstation and laptop.)

  66. Is Harmful? by Poeir · · Score: 1

    Is Harmful? Not "Considered Harmful?"

    --
    Sigs are like bumper stickers.
  67. Does he consider as a minority OS.... by 3seas · · Score: 1

    ...the official GNU core known as "the HURD"..???

    1. Re:Does he consider as a minority OS.... by Anonymous Coward · · Score: 0

      He should. HURD basically got blown off the map when the Linux kernel was released: much as Mitch Kapor took the credit for Lotus Notes, Linus wound up taking credit for the whole OS when he released the final piece for a genuinely workable free software OS, the Linux kernel. Linus himself is very good about taking credit only for the kernel work, and giving credit to GNU and to Richard Stallman for the free tools which made the OS possible. But HURD never graduated from being vaporware.

  68. Read "Linux"? by Anonymous Coward · · Score: 0

    GNU Libc is a GNU project. While Linux is the OS tha most commonly uses GNU Libc at the moment, why would he be proclaiming that things should be made for a different OS than his biggest project is intended?

    Read "GNU" more like.

    1. Re:Read "Linux"? by Anonymous Coward · · Score: 0

      Depper has no particular love for RMS or the GNU project.

  69. Dictatorship is harmful to open source by johansalk · · Score: 1

    I think he should concern himself with what suits his interests, or what suits his business objectives, and let others be concerned with whatever appeals to them and suits their fancy. I think when it comes to open source developers, the phrase "whatever turns you on" should reign supreme. Some may say that regulation is better, but I think it's up to individuals to regulate themselves, and choose what gives them usefulness or pleasure. They're not paid, so why should they take orders, or even direction from others? It may be true there are instances, perhaps many, when his view has merit, but it's even more true that whatever brings on developers, turns them on, and doesn't turn them off and away, is likely to be ultimately far more beneficial.

  70. I cannot read English. by Anonymous Coward · · Score: 1, Funny

    Please find me an unbiased report stating that Java is faster than C++ in one of the following languages:

    1. Aramaic
    2. Ancient Egyptian
    3. Setswana
    4. Slovenian
    5. Icelandic

    Thank you.

  71. It's really a benefit by Anonymous Coward · · Score: 1, Insightful

    Compiling and testing code on multiple platforms is a wonderful way to smoke out bugs. Of course if people solve problems w/ #ifdef rather than rewriting the code to honor the language and operating system standards it doesn't actually help. I'd bet most "bugs" are really demonstrations of the phrase "implementation" defined".

    Sort of reminds me of people complaining that their named COMMON blocks were getting stomped on because they didn't read section 8.3.5 of the FORTRAN 77 standard.

    Not supporting device drivers on exotic systems is reasonable, but generic applications have no reason for being so tightly coupled.

    I visited two websites today that wouldn't work. One told me to download Mozilla 1.x (I'm using 1.4). The other, a government site w/ a help desk told me I had to use IE which is tough to do if you don't have a Windows machine.

    The real problem is sub-p programmers who think if it appears to work they know how to program. Real progammers keep a copy of the language standards next to the keyboard and reference them regularly.

  72. Re:If they only affect exotic platforms it is a wa by pedantic+bore · · Score: 2, Insightful
    assumptions that cover 90% of the users...

    Users don't care about 90% of the users. They care about themselves. Why should they spend money to buy a new PC just because other people can't take the time to think ahead in their designs?

    Also, I hope you don't think 90% is a good cut-off. If you're happy with assumptions that only hold 90% of the time, I sure hope none of your software is running on my system.

    Besides, if you're talking about assumptions that cover "90% of the users", you certainly aren't talking about Linux!

    --
    Am I part of the core demographic for Swedish Fish?
  73. Dropping Windows compatability by safari-surfer · · Score: 1

    I'm not sure I totally agree with this article - at least as far as Windows porting is concerned.

    I second that. The first thing I do on a freshly installed Windows 2003 machine after hardening it for security is to install the GNU tools and vim. That may seem like a silly thing to do but I am familiar with the GNU tools and I think Microsoft made native commandline utilities really suck so it makes life on Windows a little bit more bearable.

  74. Opposite is true by Anonymous Coward · · Score: 0

    obscure bugs are often found during a port to another platform. It leads to better code. You discover your wrong assumptions.

  75. Most OS Software starts on a non-mainstream OS by dracocat · · Score: 1

    Just a thought, but wouldn't this suggest that Open Source be done mainly for Microsoft Windows? After all, I hardly think anyone can successfully argue that any other operating system is in fact the mainstream operating system.

    Its the fact that Open Source developers do not use mainstream operating systems that they get involved in OS in the first place. If they used the mainstream OS they could just buy the software they wanted. A whole lot cheaper than writing code yourself any which way you look at it.

  76. Multi-platform support is a strength by astrashe · · Score: 1

    Multi-platform support is a strength of open source. It's not free -- it adds work to the development process. But it makes for cleaner code, and for more useful code.

    The world isn't going to be x86 forever. It might be for a long time into the future, but eventually thigns are going to change. When that happens, it will be really, really hard for MS to make the change. It will be almost transparent for linux.

  77. Depends who you ask by Anonymous Coward · · Score: 0

    Benjamin Meyer ported KDE to run the Mac, and just got a job with Trolltech, presumably due to his Mac expertise. Not harmful to him, or KDE for that matter.

    KDE runs on many platforms, but the releases are for linux. Ports are maintained by individuals or small groups.

    Derek

  78. I completely disagree by dyfet · · Score: 4, Insightful
    First, supporting many platforms often reveal interesting and important bugs which can be missed because they do not manifest themselves well or often on the "primary" platform or target architecture most commonly being used.

    Second, platforms are not stagnent. Code that only works on 386 linux may some day have to deal with a x64 only world. Who knows what may happen in the future. Making decisions because you reject portability means you reject the future for your code as well.

    Third, different compilers are very useful for finding less obvious bugs. Ideally this means having a choice beyond gcc, if one is talking about C/C++, for example :). Using a single compiler means bugs your compiler doesn't itself know will likely be retained. Even using different versions of gcc can help. Different compilers often are good at finding completely different sets of bugs in source.

    Finally, pointer/integer size and endian prejudices are evil in C/C++ code. You will find these things very quickly if you spend your whole life exclusivily on i386 and one day try to port to ppc.

    1. Re:I completely disagree by Anonymous Coward · · Score: 0

      I agree totally with you here.

      Using different compilers give much better code.
      Relying on GCC only is _not_ a good option.

  79. Re:Fine until some future bug bites you in the ass by macshit · · Score: 1

    You are right: that sort of portability (supporting many types of platforms using [broadly] standard interfaces) does often help code quality etc.

    However I suspect that what Ulrich may be talking about (of course I didn't read the article :-) is not that, but rather the practice of trying to support completely alien systems that don't implement the common interfaces you normally depend on. This kind of "portability" often results in a huge festering pile of kludges and massive duplication of code. A popular example is MS-DOS; many packages end up with ".bat" files duplicating their makefiles, use painfully awkward filenames to avoid upsetting 8.3 filename restrictions, have special cases for MS-DOS scattered throughout the code, etc.

    Of course if you really go all out, the effort may end up helping your package by forcing you to thoroughly refactor your code for maximum flexibility, etc. But in many cases the benefit is not worth the pain, and the developers instead go the lots-of-kludges route, and the net effect is negative.

    --
    We live, as we dream -- alone....
  80. Axe to grind by Dan+Berlin · · Score: 5, Informative

    As a GCC developer (bias: I work for IBM Research), the only time i've ever seen David Edelsohn complain about something not working on AIX, it was broken on other significant platforms as well (Cygwin, etc), or was latently buggy and just working by luck.

    Judge for yourself. Go read the gcc list. Count the number of patches backed out in the past year because they broke AIX vs because they broke some other platform.

    It sounds like an unnecessary personal snipe, which, for people who know Uli, well, i won't bother finishing that.

    So if this is the most "notorious case" Ulrich's got, then he's wrong.

    Particularly the "GCC would be developed much faster".
    That is in fact, the funniest thing i've heard all day.

    GCC would be developed faster if there was less sniping and fiefdom's and more collaboration. Which, except for a few people, has been what is generally happening. Our development process is accelerating, not slowing down.

    And It certainly isn't slowed down because people need to bootstrap on AIX, which they don't.

    Nobody has ever required patches be bootstrapped on AIX unless it is very likely to have some material affect on that platform.

    This is just the same requirement we pose for any wide ranging change: Test it by compiling it for the architectures it is likely to break on.

    Note i didn't say running. We don't require anyone have AIX boxen around. Cross compiles work fine.

    Though if you break some architecture, you are expected to at least try to help the maintainer of that arch fix it.

    1. Re:Axe to grind by bani · · Score: 1

      I wouldn't worry about it. Just about everybody on the entire planet agrees Uli is completely and utterly wrong on every single point.

  81. Solvable problems by Anonymous Coward · · Score: 0
    It appears as if the problem isn't really writing code that works on so many platforms as giving everyone access to all those platforms. Take a look at ParaView, where the solution is that each platform to be supported has automated build and test run at least once a day. Compiler warnings/errors and test errors are sent to everyone who committed a change that day and they are expected to fix problems with what they checked in. As long as you
    • start with a wide variety of platforms to begin with, and
    • maintain coding standards that spell out common problems with compilers
    adding more is not really a problem. If someone requests a new platform be added, it's not supported until nightly tests are automated.
  82. Mostly unbiased, though coming from "the trenches" by Dancin_Santa · · Score: 1
  83. Pot to Kettle.......... by iq+in+binary · · Score: 1

    Can someone please explain to me the difference from platform specific software? Aside from port problems, including bugs and library/grammar problems; isn't this pretty similar to--say, a Win-centric software? Debugging and compatibility issues are usually about %60 of the development process. Extremely intricate and mathematically complex programs aside (usually used with supercomputers), most consumer software runs into most problems in relation to hardware and OS, same problem with OSS.

    Can someone please explain to me how OSS is more difficult in this regard?

    --
    Of all the Universal Constants, here's one I know: Nice guys finish last ;)
  84. Choosing to be different. by Anonymous Coward · · Score: 0

    You chose to be
    different, so you pay the price.

    Bwahh haha ha!!

    That is such a gem. Why can't those Linux babies just use Windows?

    But seriously. I love my Omron Luna, and my Decstation, but mainline GCC support? Who are we kidding? GNOME 2.6 port? Personally I would never bother to use it.
    I see no problems in prioritizing modern OS's and modern hardware. Since our community is so geeky, perhaps we could quantify how much effort is wasted on minority platforms, instead of bloviating until blue in the face?

  85. He's got a point... Or maybe just lazy. by acomj · · Score: 1


    I only support Solaris and HPUX and linux writing low level code. (ironically an os abstraction api so platform shifts are easier)

    I find differences in the way these OSs handle things make my life more difficult..

    ioctl calls are different, some socket stuff is different. (default multicast ttl, handling of empty buffers), threads. real time "quasi" OS code varies greatly for multi-proc machines.

    However when/if you fully understand what your doing you can write good code with a minimum of #ifdefs. Its a bit more painfull than it should be sometimes, and its time consuming. Time many coders would rather spend adding functionality.

    However the benifits of having code that works great on many including minor OSs are great. This shouldn't affect higher level processes. Noone wants to spend time debuging code for some obscure platform, its not fun, but it needs to be done.

  86. In the words of a famous world leader... by mikael · · Score: 1
    --
    Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  87. Logic Circuits Concur with OpenBSD's Findings by jd · · Score: 3, Informative
    Sorry, had to do a Blake's 7 Zen impersonation there. Seriously, a well-designed program for Linux should run just as well under any *BSD, or any Unix platform, with little or no modification. POSIX is POSIX, no matter what the label on the box, after all.


    (The only exceptions would be things that use specific Linuxisms, such as some of the Netfilter calls, anything to do with a filesystem that is only available on Linux - XFS, JFS, Lustre for example. The network structures use different variable names, but that's not an excuse as you should be using an abstraction library in those cases.)

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Logic Circuits Concur with OpenBSD's Findings by Anonymous Coward · · Score: 0

      So, POSIX works except when it doesn't. Thanks for the thought.

      (Plus there's the minor fact that Depper is the guy who implements POSIX, not the guy using it.)

    2. Re:Logic Circuits Concur with OpenBSD's Findings by jd · · Score: 1
      If POSIX is correctly implemented, along with Unix98 and all the other standards out there, then any source of any software for any box that is written to those standards should compile out of the box on any other system that implements them.


      You'll note that the exceptions I gave were for things that (a) weren't POSIX, and (b) were very much things either developed for Linux or ported to Linux from some proprietary platform that was never designed to be cross-platform.


      Anything - absolutely anything - that is designed properly and written properly will have very little that is platform-specific, and that which does exist will be encapsulated outside of the main code. For example, GOOD networked programs make references to abstract network calls, which in turn call the code specific to that OS and which also handle the specifics of the networking types.


      The main program should not care whether it is using BSD or Linux, should not care if you are calling over IPv4, IPv6, IPX or Streams! If it does, it is a flaw in the design. The program should care only that it is connected to the right endpoint and that it is able to track that connection correctly. Beyond those two requirements, neither of which need to know a damn thing about the low-level details, there is absolutely nothing the program needs to concern itself with.


      The same is true for graphics. Why should the program care if it is displaying over X, SVGALib, Win32 graphics or an ASCII terminal? (Especially with the very nice Graphics-to-ASCII libraries that exist, these days...) You care about whether something is event-driven or is a straight-flow, but even that can be abstracted out to a very large degree. You have the main code, and you have the I/O code. The two need know nothing about each other, except what the interface tells it.


      Like I've said before, Drepper is not an idiot. I think he is making himself look like an idiot, over this, but I don't think he is one. What I do think, though, is that he has forgotten some of the basic principles of good software design, and that he needs to revise these before making statements about them.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    3. Re:Logic Circuits Concur with OpenBSD's Findings by ComputerSlicer23 · · Score: 2, Informative
      anything to do with a filesystem that is only available on Linux - XFS, JFS, Lustre for example

      You do realize that XFS is a port from SGI's UNIX varient (IRIX I believe). That JFS is ported from OS/2 to Linux (and was originally written for AIX and the s390 Mainframe if I recall the details correctly).

      Lustre might be Linux only. I believe it started out life as a Linux-only project. I believe that ReiserFS is fairly Linux only (I thought they had ports to other OS's, but I can't find anything on there website about it the last time I looked). GFS to the best of my knowledge is a Linux only filesystem. Ext2/3 is primarily a Linux thing (I believe several other *BSD's have the ability to mount them, and a few odd Win32 drivers). Not sure about the other oddities (JFFS,CramFS,RomFS,SquashFS).

      Kirby

    4. Re:Logic Circuits Concur with OpenBSD's Findings by Anonymous Coward · · Score: 0

      I think you have a point, but POSIX or LSB or GNU/Linux or whatever the platform is called isn't really good software design policy, it's about allowing existing programs to run portably. By the time it becomes Depper's problem he could care less how abstracted your program is.

    5. Re:Logic Circuits Concur with OpenBSD's Findings by Anonymous Coward · · Score: 1, Interesting

      Have you ever developed on Linux in C and then tried to switch to Unix type system? I suspect not, since you are saying such things.

      I learned most of what I knew about POSIX from GNU manpages... Then when I first tried to code for OpenBSD, Solaris, Irix, what have you, I was in for quite a few shocks.

      I've learned a lot about writing portable Unix software since then. Still, porting between Unices throws lots of curveballs, especially if your development platform is Linux. Linuxisms (or glibcisms) are a trap all too easy to fall into. It's much easier to make something portable when you're not using glibc.

    6. Re:Logic Circuits Concur with OpenBSD's Findings by CoughDropAddict · · Score: 1

      POSIX is POSIX, no matter what the label on the box, after all.

      That's very funny.

      Why do you suppose that every nontrivial UNIX program uses autoconf to check for 50 headers and 50 functions, and litters the source with #ifdef's appropriately?

    7. Re:Logic Circuits Concur with OpenBSD's Findings by Nevyn · · Score: 1
      The main program should not care whether it is using BSD or Linux, should not care if you are calling over IPv4, IPv6, IPX or Streams! If it does, it is a flaw in the design.

      You are on crack. For instance, poll() isn't everywhere, dito TCP_DEFER_ACCEPT/TCP_CORK/LFS/posix_fadvise/bind mounts/socket filters, sendfile() is not only not everywhere but was implemented differently (and worse) on *BSD. As for sockets you need to know what you are dealing with if you have ACLs you need to specifically parse IPv4/IPv6 etc. ... also if you are calling connect() in a non-blocking model you can't just rely on the blocking getnameinfo(), so you again have to do everything yourself.

      Sure, I don't agree with all of Ulrich's comments ... but I'm certainly not going to rewrite all my code so it's portable to win32, or even SCO Unix from 10 years ago.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
  88. Re:Fine until some future bug bites you in the ass by forkazoo · · Score: 1

    Oh, right. I have a mental block against DOS whenever I'm not at work. I simply forget it exists on weekends and holidays. I'll have to deal with DOS network drivers tomorrow. It will make me sad. But,, when I get home, I will once again be complete unaware of its existence. I think it is some sort of psychosis. I refuse to have any DOS machines at home, but have damn near everything else.

    BTW, you are an evil fugly bastard for reminding me of it on a holiday. Jerk. :)

  89. Everyone just remember... by Anonymous Coward · · Score: 0

    that the author of this stunning blog entry is the asshat who
    argues that good programmers don't need strlcpy, since they
    don't make mistakes while copying strings.

    This man has done as much as anyone to reduce the security of
    software written for Linux. However, it is nice that his comments
    have generated a good discussion about why protable
    programming is a vituous endeavor.

  90. it's rare I think someone is *right* on all counts by ArbitraryConstant · · Score: 2, Insightful

    Writing portable code is good for the soul.

    It makes you read the docs. It forces you to use a standard API when byte order is important. It keeps you from hardcoding values (eg sizeof(void*)). It keeps you from making platform dependant optimizations that might not even be supported by the next version of the platform you're on, or if you do it forces you to make them modular.

    It forces you to figure out what behavior you can rely on. Bug compatability with older versions relies on the magnanimity of the maintainer, and cannot be assumed even if you're staying on Linux.

    --
    I rarely criticize things I don't care about.
  91. Are 7 platforms not enough to find the bugs? by Nailer · · Score: 1

    Red Hat Enterprise Linux ships on 7 platforms already. x86, x86 64, Itanium 2, zseries, iseries, pseries, and something else I forgot. Fedora runs on the first two, plus ppc.

    From the blog in question:
    And there certainly should be more than one mainstream architecture to keep all the players real, so I welcome PPC in addition to x86/x86-64. But there is no benefit at all in supporting something like PA Risc, m68k, cris, etc as configurations of the generic code.

    He also speaks about OS platforms: how complaints about things not working on AIX are stopping GCC development. In 2005, it's AIXs job to conform to the LSB (including GCC). Not the other way around.

    1. Re:Are 7 platforms not enough to find the bugs? by dvdeug · · Score: 1

      In 2005, it's AIXs job to conform to the LSB (including GCC). Not the other way around.

      So screw IBM. I mean, just because they go out of their way to contribute work (generic as well as system-specific) to GCC, doesn't mean that we should try and work with them at all.

    2. Re:Are 7 platforms not enough to find the bugs? by Nailer · · Score: 1

      Or, um, just expect IBM should be submitting fixes for those bugs.

      You fucking moron.

    3. Re:Are 7 platforms not enough to find the bugs? by dvdeug · · Score: 1

      First place, the fact that AIX does not conform to the LSB, as you were complaining about in the section of text I responded to, is not a bug.

      Second place, nobody is familar with every part of GCC. You're asking the AIX maintainers to fix basically random pieces of code within a huge codebase, and it's entirely possible that they will have no way to test their patches, since someone else will have broken building on AIX in some other way in the mean time. Way too often, GCC gets to a point where broken patch builds on broken patch and nobody can do work since there's been too many broken patches added in the meantime.

    4. Re:Are 7 platforms not enough to find the bugs? by Geekboy(Wizard) · · Score: 1

      why should AIX give a shit about LSB? *Linux* Standard Base, AIX is not Linux. Sanely written programs compile on AIX, Linux, BSD, HPUX, Solaris, and pretty much all of the other POSIX systems out there.

      TFA seems to be promoting incompetence and laziness in programming, which is the exact opposite direction they should be going.

    5. Re:Are 7 platforms not enough to find the bugs? by Nailer · · Score: 1

      Because Linux won. Proprietary Unix lost. AIX and Solaris advertise their LSBness and Linux Binary Compatibility. It makes logical sense that the maintainers of these platforms take care of issues involved in porting OSS code to run on them.

    6. Re:Are 7 platforms not enough to find the bugs? by Anonymous Coward · · Score: 0
      Not the brightest gem in the jewelcase are we?

      Since when has Linux won? It looks to me more like Windows did.

      Do you instead mean that Linux-based operating systems are the most popular of the current Unix-like operating systems available? While this is true, that doesn't suddenly mean that everything else should conform to it's standards.

      Hell, not even all Linux-based operating systems are conforming to LSB, so why should a Unix?

      If instead one codes based on the standards that Unix-like operating systems follow than you don't have this issue. Assuming everything is Redhat on i386 is not the right way to go.

    7. Re:Are 7 platforms not enough to find the bugs? by N1KO · · Score: 1

      Platform dependent software tends to be compiler dependent as well. Making sure a program is portable will solve problems that may come up after upgrading gcc/glibc and attempting to recompile.

    8. Re:Are 7 platforms not enough to find the bugs? by Nailer · · Score: 1

      Since when has Linux won? It looks to me more like Windows did.

      Implied: winning the Unix wars. That should have been obvious. Even in terms of general OS thoough, Windows hasn't won the server by far.

      While this is true, that doesn't suddenly mean that everything else should conform to it's standards.

      Indeed. What means everythign else should conform to Linux's standard is that everything else is claiming it conforms to Linux's standards. Making it easy to port applications (by taking care of such probs themselves) is part of that.

      All the major business distros conform to the LSB. Suse, Red Hat, Debian. The Unix's should conform because IBM and Sun are advertisiong that they conform, and Lies Make Baby Jesus Cry.

      Assuming everything is Redhat on i386 is not the right way to go.

      Er, yes. That's why the post you're replying to is called 'Are 7 platforms not enough to find the bugs?'

  92. GCJ isn't yet ready for prime time by tepples · · Score: 2, Informative

    Classpath, the runtime library used by applications compiled with GCJ, isn't nearly as complete as some of us would like. Or have you managed to get, say, Azureus working usably in GCJ?

  93. Well that's why God invented Java... by Anonymous Coward · · Score: 1, Funny

    and was given to Scott in a dream.

    McNealy: The lady of the lake, her arm clad in the purest shimmering samite....

    H1B coder: Listen, you can't expect to write cross platform stuff just because some water tart threw a compiler book at you!

  94. Minorities don't exist. by jd · · Score: 1
    Well, technically they do, but here's the problem. How do you define "minority"? It's all down to how you divide things up, and if the person doing the condemning is also doing the dividing, then their argument is futile.


    For example, is Linux in the majority or minority? Depends on what you class as Linux. If Linux is the kernel, then what group of kernels are you classing as the "Linux" of today? Surely you can't include them all, as the gap between 2.6.x and 2.4.x is staggering, never mind the gap between 2.6.x and 2.0.x, 1.y.z or earlier.


    Now, are you counting the BSDs as one entity or many? Do you include ONLY the "free/Open Source" BSDs, or -ALL- BSD-derived kernels?


    If you are dividing by standards, then does Linux count as a POSIX or Unix98 system, or are those part of the minority? But if they're part of the majority, then even those which are in and of themselves "minority" would surely have to be counted, as they are a part of the majority nonetheless.


    Last, but not least, I suggest Ulrich retake Software Engineering, as although he is undoubtably bright and talented, he seems to have forgotten the basic rule of design -- the platform comes LAST.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  95. But on the client? by tepples · · Score: 1

    Java servlets outperform CGI

    True, some people might have got Java technology to work fast on the server side. But do they outperform native code on the graphical client? And does Sun provide support for Java technology on anything beyond Windows, Linux, and Solaris on x86, itanic, and sparc?

  96. RTFA please... by Chordonblue · · Score: 1

    "Not exactly a "minor" platform there now, is it?"

    In the article he states that porting to Windows can cause issues due to case sensitivity, security, etc. The author appears (to me at least) to be putting Windows in that catagory. Not that it's 'minor' but that it's a pain in the ass. My contention is that I believe that, most of the time, it is worth porting OSS projects because it leads to greater acceptance to other platforms like Linux and the Mac.

    --
    "...Well, there's egg and bacon; egg sausage and bacon; egg and spam; egg bacon and spam; egg bacon sausage and spam..."
  97. The title of this article is not correct. by Nailer · · Score: 5, Informative

    Wait a sec...

    Porting Open Source to Minor Platforms is Harmful

    What the fuck? Where'd you get that from? Read Ulrichs post. How about:

    Delaying the development of features because of problems with minority platforms that can't be fixed by the bug reporters is Harmful

    You may disagree, but unlike the title of this article, it does actually cover what Ulrich is talking about.

    1. Re:The title of this article is not correct. by Tamerlan · · Score: 1

      Umm, yeas. You nailed it down to the point :) But wait... How was I supposed to fit it into submission form?

    2. Re:The title of this article is not correct. by Anonymous Coward · · Score: 1, Insightful

      No, no, the title is correct. Read the article yourself:

      "additional indirection to resolve the differences in APIs the code gets bigger and slower"

      This is not a case of minorities slowing down release process (ala debian), but really a stance like "we should not even accept patches that enable multiple APIs".

      This is soo stupid. Blaming windows port for bloat ? Free software community didn't need anyone to let Ghome beeing bloated to death.

      The path he proposes is very dangerous: soon you'll drop support for non mainstream arch, then non-mainstrean devices, then non-mainstream usage pattern.

      But sure, it looks like it would make his work easier. And, if don't get satisfaction, he can always point onto that 'other' minority for the problem he have developping software...

    3. Re:The title of this article is not correct. by Bert64 · · Score: 2, Insightful

      Support for non-mainstream platforms (alpha, 64bit sparc/mips) and fixing of the associated 64-bit bugs made porting to amd64 a lot less painfull than it would have otherwise...
      Aside from that, support for non mainstream platforms is a major strength of open source, many of these non mainstream platforms are and always have been much better than the mainstream platforms, but they're dying out because of the prevalence of proprietory software which can't be ported to these platforms.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    4. Re:The title of this article is not correct. by Vitus+Wagner · · Score: 1


      Title is correct. Developing of new features before code architecture is cleaned up (including verifying that this architecture is suitable for every platform around there) is harmful.



      It produces unmaintainable mess of code, and many opensource projects, like Gnome, KDE and OpenOffice have already fallen in this pit.



      Better to stop adding features an concentrate on making these projects developer-friendly.


      Once they are developer-friendly features can be added easily and quickly and after few years of developing we would have more features than other way around.


  98. Same problem with C++ Compilers by Qwavel · · Score: 1

    Many software projects are unable to take advantage of modern C++ features because they want to support all sorts of old compilers.

    I'd prefer to see some projects reduce their support to (for example) GCC 3.4+, the Intel Compiler, and MS VC 7.1+ (in strict mode). The three of these are very similar and all are highly conformant. Supporting just these three would be much, much easier than supporting a bevy of older and stranger compilers.

    1. Re:Same problem with C++ Compilers by Nasarius · · Score: 1
      Many open-source projects have quite the opposite problem: they write for one version of GCC. There were a huge number of packages that wouldn't compile when GCC 3.4 was released, because the authors were working with 3.3, and that's all they cared about. And ICC? Forget it.

      In short, people need to learn the C++ ISO standard and write for it. It's usually just a matter of avoiding compiler-specific features. If it's not in the standard, you probably shouldn't be doing it.

      --
      LOAD "SIG",8,1
  99. United We Stand by Doc+Ruby · · Score: 1

    Well, it's certainly not harmful to those minority platforms, or their users/developers. Or the people who benefit indirectly, like app/kernel development by those people which get patched back into the kernel, or just compile/port easily to the majority platforms. It's a cost to people who have to work on development for them, but they do get some benefit. Without an actual accounting, counting the benefits for people who do even occasional work on the minority platform in a familiar environment, it's just whining. A fragmented platform is obviously bad, while a unified platform across architectures offers critical mass, diversity of innovation and insights, and is probably worth the extra hassle.

    --

    --
    make install -not war

  100. Obscure architectures are a good way to learn by paronomasia5 · · Score: 1

    Since many n00b kernel hackers are intimidated by the sheer elitism of the "Core kernel hackers" on an open source project, I think that many people can (and have) learn a system by working on bugs related to obscure platforms.

    It allows the person to solve a very domain specific problem, without getting trampled on by 10 other people working on the same issue.

    If someone had a senior high school project, would you say "rewrite the kernel locking scheme", or "make this operating system run on a game boy". clearly one of those is more attratictive, and can breed future kernel locking scheme developers.

  101. Porting apps to M$ OS not as hard as it used to be by tepples · · Score: 1

    10 LET M$="Microsoft"
    20 REM Please don't mention Penny Arcade until you try fitting "Microsoft" into the subject line

    but rather the practice of trying to support completely alien systems that don't implement the common interfaces you normally depend on. This kind of "portability" often results in a huge festering pile of kludges and massive duplication of code. A popular example is MS-DOS; many packages end up with ".bat" files duplicating their makefiles, use painfully awkward filenames to avoid upsetting 8.3 filename restrictions, have special cases for MS-DOS scattered throughout the code, etc.

    True, making an app portable between *n?x and Microsoft's "finest" used to take a lot of convoluted bullmanure to get right, but Windows 4.0 and up (95, nt4, 98, 2000, me, xp) have cleaned up. The file system supports file names longer than the Mac ever did. Developers can use MinGW+Msys, a reasonably complete port of the GNU compiler toolchain (yes, including GNU Make) to the Windows runtime library. And the popular Free GUI toolkits from *n?xland (wxWidgets, GTK+, and now Qt) are available on Windows as well.

  102. dictatorship of 40 by b17bmbr · · Score: 1

    if I read this correctly, we shouldn't let a minority opinion dictate terms. fine. so when a majority of senators want to vote, 40 shouldn't let them dictate. okay. i'm with that.

    --
    My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
  103. sorry ulrich, you're a fucktard by Anonymous Coward · · Score: 0
    While some cross-platform bugs are strictly a matter of the platform in question, in my experience, many of them are actually bugs with the core code. Stuff like using gcc/glib extensions, non-standard linux behavior, 32-bit pointer math, dereferencing NULL, etc. While the current gcc/glib/linux might be ok with it, future versions may break it, it may not work right with other distros, etc.

    Porting poorly written software is a problem, but the problem is with the software, not the port. Something like apache is a mess due to #ifdef _WIN32 shit for the windows port. That's because the core software isn't modularized enough, not because porting is bad. Hundreds of apache bugs were found thanks to the win32 port, some trivial, some that could cause remote root exploits.

  104. Definitely some truth here. by Anonymous Coward · · Score: 0
    As I read it, I thought of two things. First off, I thought about Debian and while I love the idea and the concept and goal, I find it to be lacking in implementation. I'm not bashing Debian and I know about the unstable tree and I actually run it on a machine but I have to use "unstable" if I want to be anywhere near up-to-date. I think gentoo and the ricer boy culture they've created (I will bash gentoo for that, although I do admire a lot of what they are doing) exists largely because of lackings in debian, it's just too ambitious, too many people take part, and they don't have the resources. Too many people want to "take part" without really taking part. Debian is going up against good Linux distributions, that's what a lot of people want, Debian has a cut built on a BSD kernel, they have a project for a Hurd kernel, they run on tons of different platforms. Debian is a good base to make a good Linux distribution from but you're not going to get the same effect as Fedora or Mandriva or SuSE.

    The other thing I thought of is the compiler and binutils, Drepper's land. I've been a close follower of these projects for a long time and there is a certain viscosity that they have to put up with. Far fewer people hack on the compilers than do Linux; frankly, it's substantially more difficult in a lot of ways. Does anyone remember Chill? It was a langauge that some how got mainlined, they added it to main and then nobody ever supported it; GCC carried that monkey on its back for several big releases before it was pulled out. I don't even know if anyone ever really coded in Chill as part of GCC, plus there is a way to do this, you fork just like the Modula-3 guys did, look where they are at now.. Your project is given more street cred when it's accepted as part of a larger project but you need to maintain your project, that acceptance doesn't end your ownership of it. I think a good example would be the Ada guys, they did a lot of work to get gnat running in gcc 4.0, ACT is supporting their part of the compiler. Ada isn't super popular but I'll tell you what, it's a supported language as part of GCC (and it's not half as bad as you'd like to think it is either..) You have any idea how many platforms GCC has dropped support for? Popular chips in some parts of the industry but since nobody supports them, they have to pull them out or they slow down the rest of the work. Last list I saw had some almost shocking chips in it that were being dropped as I know that there is a ton of work being done on them all of the time still in the embedded world. It's also ironic that he singles out IBM and AIX because they have contributed some substantial pieces to GCC and both they and Apple seem to be pretty active in support of it.

    glibc is no different. First off, it's not "sexy work" in the conventional sense, I know that they don't have hundreds of people providing patches like Linux does. There aren't that same handful of guys ready to take over if Drepper doesn't want to do something. Second, because it's so close to the kernel it creates a major test headache. Someone put glibc on BeOS, who cares? Should that code live with glibc now? It's prime for branching out on its own, it will live if someone wants it to. Should he hold up glibc 3.0 because it doesn't quite work right on EROS or Spring or beos or some other project with all of 10 users? I think the thing to do is to formally acknowledge that the branches to support minor platforms are just that and acknowledge that they aren't main stream. If you want to be mainline, then you step up and provide mainline support; you earn it, you don't simply get your code in and then orphin it.

    When I first really recognized the power of opensource and how things were being developed, I was at IBM, I was learning OS/2 in the early 1990s and there are all of these really wierd tricks. OS/2 doesn't have a base 10 timer interrupt because DOS didn't because some PoS PIC back in the day ticked 18 tim

  105. The platform comes... by tepples · · Score: 1

    the basic rule of design -- the platform comes LAST.

    "The platform comes last"? Tell me that when you develop a first-person shooter of the scale of Bungie's Halo 2 or Id's Doom 3 and are then told a month before release that you have to make it run in real time on a system comparable to the Game Boy Advance (16.78 MHz ARM7, 384 KiB RAM, 2D sprite acceleration, 32 MiB max ROM). Sometimes you need a little design-time optimization.

    1. Re:The platform comes... by jd · · Score: 3, Interesting
      Optimization should always be in the final stage of software implementation. You get the program right first, THEN you speed it up. Speeding it up first can help obscure the bugs, which can make fixing them a damn sight harder.


      I've actually done some fairly hefty optimizations (real-time array processing on an original Sparcstation, for a nuclear research facility) and know the sort of problem you are talking about. The best thing to do, once you have a working, solid, implementation is profile it and find the areas that - if accelerated - would offer the best improvement in performance.


      The problem with having so little time - in your case a month - is that you can't optimize cleanly. You've got to hit the code in the best places first and dig your way through as far as you can in the time.


      Typically, slow areas will involve moving lots of data, number-crunching and I/O. You can't do much with graphics I/O, unless you've some good specs on the hardware and know assembly. (That's one reason I learned assembly.) Number-crunching is tough, too - just do as little as possible, do what you can when the system is idling, try to merge operations, and stick to integer arithmetic as it is so much faster. Moving data is easy - don't, unless it'll absolutely kill you. Do everything in-situ, if you can. (I wrote a Mandelbrot generator that did ALL arithmetic inside the 80x87 coprocessor - nothing loaded, nothing saved, which meant no slow transfers. It was still slower than fractint, but it was a lot faster than any other floating-point fractal generator out there.)

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    2. Re:The platform comes... by Anonymous Coward · · Score: 0

      >> stick to integer arithmetic as it is so much faster.

      Maybe back in the day, but this might not be true any more.

    3. Re:The platform comes... by Anonymous Coward · · Score: 0

      If you have used any recent hardware you would know that most I/O is very fast on the modern architectures, and the FPU is usually faster than the ALU for most computations, especially large vectors.

      Use MMX, SSE[123] or whatever equivalents your preferred architecture provides (altivec?). Gone are the days of having to deal with pure assembly. With the exception of writing kernels/bootloaders etc, you would have a tough time justifiying the use of asm without extensive profiling. Modern compilers like ICC, and LLVM can do a MUCH better job than almost all humans.

  106. By that same token: by grasshoppa · · Score: 1

    if you ever read mailing list of any large open source project, you know that significant piece of traffic is about platform-specific bugs or a new release broken on some exotic platform.

    By the same token, doesn't this indicate the need for the software is there?

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  107. Time spent in platform specific bugs... by Spy+der+Mann · · Score: 1

    only harms the project if the number of programmers is limited.

    Which is not always the case with Open Source.

  108. Don't bother porting apps to Linux by Anonymous Coward · · Score: 0

    So by the logic of this article MS should not bother porting Office to Linux because it's a minority platform, same goes for Adobe Photoshop etc.
    And web developers should not bother making their sites work with Firefox, because we all know IE is the only platform that matters.

    I don't think this attitude is helpful. Maybe limiting the amount of porting might made development a little easier, but the language of the author was more elitist that a simple pragmatic argument.

  109. ADA by Anonymous Coward · · Score: 0

    I wasn't sure if he was arguing against porting software or against the Americans with Disabilities Act.

  110. Re:it's rare I think someone is *right* on all cou by tepples · · Score: 1

    Writing portable code is good for the soul.

    But is it good for the market? What is graphically feasible in a PC game isn't feasible in a game designed for a Palm OS device or a GBA system.

  111. Encapsulate the ifdefs by Spy+der+Mann · · Score: 1

    into functions or methods.

    Makes things much easier to maintain.

    1. Re:Encapsulate the ifdefs by Anonymous Coward · · Score: 0

      Yeah, I can see you have done a lot of software development.

    2. Re:Encapsulate the ifdefs by bani · · Score: 1

      er, sorry. no.

      even if you do that you still need to #ifdef out architecture specific code blocks -- unless you break them up into separate source and object files (but this then complicates your build system).

      you also back yourself into the corner of having to keep all the different source files of each separate architecture coherent. which brings us full circle back to the original point i made about that being a very bad idea.

      so no, rewriting ifdefs into functions is generally worse.

      unless of course you are thinking of macros, which is sometimes even worse and opens up a whole new can of worms (compiler bugs, optimization issues, etc.)

  112. Re:Fine until some future bug bites you in the ass by Anonymous Coward · · Score: 0

    That would be the case, if we were talking about higher level code. But Ulrich works on glibc, and at that level, you can't just write portable code to pretend the platform differences don't exist - he's the one who has to deal with those differences so that application developers don't.

    Incidentally, OpenGL is a bad example, btw, since it's a specification, not a piece of code. It's ubiquitous because people have provided implementations (like Mesa) for many platforms, not because SGI's original codebase was especially portable.

  113. This is dumb by rbanffy · · Score: 1

    Apart from the paid effort by programmers supported by companies, all effort on FOSS is volunteer.

    It would be hard to convince a volunteer that decided he would fix the NetBSD on Alpha port of Evolution (I don't know if it's broken - it's an example) to work on fixing the more relevant Linux on AMD64 port (which I also don't know if it's broken).

    Donated effort cannot be wasted.

    I would suggest, instead, abandoning Red Hat, which is not my prefered distro, and diverting all resources from it to Debian, which is highly relevant to me, so we could all live together in happiness and not waste our efforts on that OS named after a hat. ;-)

    OK. Don't shoot. Just kidding.

  114. There are less drastic alternatives... by magicianeer · · Score: 2, Insightful
    Minorities can certainly always wreak havoc on the freedom of others. There have been plenty of examples throughout history where small group dictate the masses. This almost always happens with violence (dictatorships with the help of 1984-style mind control hasn't become known as of today).

    Consider this discussion of Kim Il Jong of North Korea given in this blog:
    http://mansei.typepad.com/dogstew/2004/10/popular_ support.html
    Especially the PBS interview mentioned in the blog:
    http://www.pbs.org/wnet/wideangle/shows/northkorea /transcript.html
    Basically the Dear Leader uses both violence and mind control.

    The second point is certainly acceptable by all people, the first needs some explanation. The fundamental problem is that configuration options are bad. Be it at runtime or at compile. Ideally there is one configuration which works everywhere. Every new configuration increases complexity. Not linearly but instead exponentially. Each option might influence every other option. This is a disaster not only for users, but also the developers. It means exponential growth of testing. Which of course won't happen and therefore the code is basically untested. For developers this means that often only one or two configurations are really tested. Any us of another configuration is probably doomed to failure in any non-trivial project.

    I am a Macintosh programmer from long ago. In the Pre-OS X days I worked extensively with the mac ports of libxml, libxslt, and TCL. I played with other open source software on the mac as well like MacPerl and the early mozilla builds. The mac port was generally a point release or 2 behind the main development. I assume the blogger udrepper is talking about people like me. The usual situation I encountered was that mac programmers had to support the macintosh port with little input from the non-mac programmers. The project "owners" would include the mac support files in a subdirectory of the project source tree. Everybody on the project understood that the contents of this subdirectory was only of interest to mac programmers.

    This was quite a reasonable situation. No mac-specific configuration options affected the rest of the project. It is no longer the case. Now the OS X (usually spelled "darwin") build is another option in the makefile.

    For my new projects the razor is even sharper. Only Linux is supported and only the few interesting mainstream architecture with reasonable APIs are maintained. Support for architectures with deliberately different APIs (i.e., IA-64) can be contributed. No other configuration is supported, actively or not, and people would have to exercise their right to add patches or fork the entire code to add other support.

    Over-dramatic; leads to fragmentation which leads to redundant work. I think you would do better to revert to the platform-specific sub folders and let the programmers of that platform update their patches at their own pace. This saves the "minority users" the problem of maintaining a new website and CVS system. You get the benefit of some contributions to the main development since a new feature or two usually must be added by the minority platform programmers.

    If you really want to support exactly one platform with few options, then be sure to use a scripting language (any of the P* languages will do), or maybe java and/or mono.

    Don't let Minorities dictate the direction!

    The leadership of any substantial group of people is always a minority. How many bosses do you have? How many people work for him?

    --
    You can have it good, fast, or cheap. Pick any two.
  115. Depends on the aim of the Open Source project by mig0 · · Score: 1

    If your goal is to overtake the #1 application in use, you will want your project to be ported to multiple platforms.

    If you want to provide a free quality product to as many people as possible, you will (again) want your project to be ported to multiple platforms.

    The fact that 1 "minority" platform is troublesome might indicate:

    - problem with code
    - problem with platform
    - problem with developer using platform

    and it may very well mean that support for Windows or BSD or whatever is not feasible for YAOSA. (Yet another open source application).

  116. MS Windows support must be dropped by VStrider · · Score: 1

    Why? Because it's hurting FOSS and Linux. Sure some projects are also successful in windows, like Firefox. But how many users switched to Linux because of Firefox? Very few, if any.

    Porting to windows hurts linux, and not just because of the development delays. The value of an OS is how many and what kind of apps run on it. Now if almost all FOSS apps run on windows, windows has an advantage over linux. It runs FOSS apps plus many exclusive apps for windows which cannot run on Linux.

    So you talk to someone about 'x' FOSS app and you get "So what if you run 'x'? I run 'x' too on windows. Can you run my proprietary 'y' on linux?".

    In a previous /. article, several people didn't even want to reckognize Gimp and Gaim as Linux applications. Hell, not even GTK! They preferred them called "open-source", and not Linux applications or in the case of GTK, Linux API. Their argument? It works on windows! Now, how is this helping Linux?

    I'm not suggesting FOSS projects to stop supporting other platforms. But maybe they should stop supporting proprietary platforms, like MS Windows. I think overall, by supporting windows, they are damaging FOSS and Linux and eventually their own projects without realising this is happening. I wish people stop thinking about short term gains(like quick adoption of their app) and sit down and think what's the big picture.

    Obviously windows fans won't like this post and it might get modded down. Oh well...

    --
    VStrider.
    1. Re:MS Windows support must be dropped by aCapitalist · · Score: 2, Insightful

      In a previous /. article, several people didn't even want to reckognize Gimp and Gaim as Linux applications. Hell, not even GTK! They preferred them called "open-source", and not Linux applications or in the case of GTK, Linux API. Their argument? It works on windows! Now, how is this helping Linux?

      Does Gimp and Gaim work on Solaris, or the BSDs? Linux does not own these apps or Gtk+.

      Linux is a kernel.

      And you, nor anybody else, is in a position to say "must be dropped".

    2. Re:MS Windows support must be dropped by moderators_are_w*nke · · Score: 2, Insightful

      Not possible and thats kinda the point. Free software is worked on for the most part by volunteers in their spare time. If somebody wants to spend their time porting the latest OSS app to Windows thats down to them.

      Its true to say that porting OSS apps to windows improves the Windows experience by providing Windows users with some good quality software for nothing, but this IMHO is a good thing. For me, OSS software is about improving software for everybody and that includes Windows users.

      --
      "XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
    3. Re:MS Windows support must be dropped by maxwell+demon · · Score: 1
      Also, Windows users are unlinekly to switch to Linux (even if they would consider the OS itself as superior) if they would have at the same time to switch away from most of their applications. Every OSS application someone uses instead of a proprietary one on Windows (but which exists also for Linux; there are of course also some Windows-only OSS programs) is one less barrier to switching over. A hypothetical Windows user using only OSS software on his Windows computer would probably have no problems at all to switch to Linux with his next computer.

      Note that by switching one application at a time, the (re-)learning curve is relatively flat, as opposed to a "hard" switch where the OS and all apps are switched at the same time.

      This is why both OSS on Windows and Wine on Linus should make more users switch to Linux (not now, but after some time). A scenario could e.g. go like the following:
      1. Joe Windows User finds Firefox, starts to use it (on Windows, of course) from fear about virus attacks through IE.
      2. Joe starts to like Firefox due to its features.
      3. Joe finds out about OpenOffice and starts to use it (simply because it's cheaper).
      4. Over time, Joe gets used to more and more OSS software on Windows (not because he has a special preference to OSS, but simply because it's there, it's free as in beer, and it does its job well).
      5. Some Windows update (or Service Pack, or whatever) breaks some of his programs. He gets angry enough that he's considering alternatives. Or alternatively, he gets fed up with DRM mechanisms (e.g. he had to reinstall the OS, and suddenly couldn't access all his music any more). Or whatever happens that makes him ready to consider alternatives.
      6. Now, he may find out that almost all the software he uses day-to-day runs also on Linux (because he switched to OSS apps gradually, although he probably wasn't even aware of that fact). Moreover, some other, Windows only apps can be used on Linux with the help of Wine. This enables him to switch to Linux without too much effort (which makes it at least more likely that he'll indeed swich).
      7. After the switch to Linux, he might replace some or all of his remaining Windows programs, then running under Wine, with native Linux programs (including programs without a Windows equivalent).

      Now, what will likely happen without OSS programs on Windows (and without Wine):
      1. Joe Windows User uses closed-source Windows software for all he does.
      2. Joe replaces this or that program with a better one, maybe even with a free-as-in-beer one, but it's still most likely a Windows only program.
      3. Now Joe gets fed up about Windows (for the same reason as above), and considers alternatives.
      4. However he finds out that all his beloved software doesnt run on anything but Windows (or maybe some runs also on Mac, but then, he's doesn't want to change his hardware just now).
      5. Due to that fact he just remains an unhappy Windows user.

      Of course, to get the first scenario true, OSS must not only be available on Windows, but must also be comparable to or even superior than the closed source alternatives.
      --
      The Tao of math: The numbers you can count are not the real numbers.
    4. Re:MS Windows support must be dropped by VStrider · · Score: 1

      Does Gimp and Gaim work on Solaris, or the BSDs? Linux does not own these apps or Gtk+. You're missing my point. A win32 app that you can run on wine under linux, is still a windows app. So linux apps are linux apps, no matter how many platforms they've been ported to. However, windows zealots don't even want to mention the word linux and prefer them called open-source. So by doing windows users a favor, linux is damaged in the long run.I think we should stop this.

      Linux is a kernel.

      Duh. Wherever you see Linux on my previous post, replace it with Linux distro or Linux OS. There. Happy now?

      And you, nor anybody else, is in a position to say "must be dropped".

      I can say what I like and you're in no position to dictate what I can and cannot say.

      Windows support must be dropped from FOSS. Next time I'm writing an app, I won't port it to windows. It won't make a big difference but if many people stopped supporting windows then yes, we could make a difference. And that is exactly what you're afraid of, isn't it?

      --
      VStrider.
    5. Re:MS Windows support must be dropped by aCapitalist · · Score: 1

      So linux apps are linux apps, no matter how many platforms they've been ported to....However, windows zealots don't even want to mention the word linux and prefer them called open-source.

      Because they're right and you're wrong. It's a gtk+ app. Th e whole purpose of inventing gtk+ was to make Gimp (not to make a "linux" app). Gimp/Gtk+ is perfectly at home on Solaris and the BSDs....no matter how bitter linux zealots like you are.

  117. Re:it's rare I think someone is *right* on all cou by ArbitraryConstant · · Score: 1

    "But is it good for the market? What is graphically feasible in a PC game isn't feasible in a game designed for a Palm OS device or a GBA system."

    OTOH, the vast majority of Linux software is easily portable to all UNIXes.

    For example, I strongly suspect most machines big enough to run AIX can handle GCC.

    --
    I rarely criticize things I don't care about.
  118. Solution: by Game+Genie · · Score: 1

    In that case, perhaps they should only make a Windows version. Why bother with Linux? This is silly.

  119. While I somewhat agree with his premise by aCapitalist · · Score: 2, Insightful

    His tactics once again leave a bitter taste for people that aren't GNU zealots. There is somewhat diminishing returns at some point, but its the same old idiocy in the way he puts it. It might have been RMS spewing.

    Minorities can certainly always wreak havoc on the freedom of others.

    That's the first sentence and it only get worse.

    So the question is: why are there all these configurations? One answer is: because of violent minorities supporting such configurations.

    Violent, eh? People are getting beat up.

    The fight for saving the software world from the evil of proprietary, IP-enforced, non-transparent software has only started.

    Evil? Yeah, ok. I thought him and Stallman weren't getting along. Sounds like he just got back from a GNU re-education camp.

    Support for proprietary OSes should be dropped.

    Windows isn't the minority. Try again.

    There are undoubtedly people who will want the flame me to death. But these people are almost certainly all members of said violent minorities who want to force their opinions on the majority.

    Violent again.

    Once again, people like him and Stallman do far more harm than good by acting like a complete nut.

    Keep these extremists down in the basement coding.

  120. And how will they see this by nuntius · · Score: 1

    If they can't run these awesome programs at home?

    Seriously, there have been hundreds of first-class programs that lost out to Microsoft not because they were bad but because people couldn't run them. Because they weren't installed. Because they cost too much money.

    When people wake up to find that all the programs they use are free and they all run better on *nix, then they will feel comfortable enough to let the neighborhood geek/BigBucks computer company set them up with a libre OS.

    MS is betting they can prevent this dream from occuring by locking down MSWindows before OSS gains public mindshare. They've proven for nearly 20 years that elite minorities (the fruit co, the star co, ...) can be kept in their place. Compatibility is a new ball game. Being the overpriced player is a position they've always reserved for their competition.

  121. Underneath it all, Drepper has a point by Anonymous Coward · · Score: 1, Insightful

    I coordinate a certain OSS project that will remain nameless, and while I would not say that "Porting OSS to minor platforms is harmful", I have seen first hand some of the problems that he is experiencing.

    I've been in situations similar to Drepper's AIX situation, where there is a situation where either myself or someone else wants to make an improvement, and finds themselves breaking a minor platform or derivative project that we might not have the development resources to fully investigate. And usually, it is because of a legitimate error on the part of the contributor. But whether the error is legit or not is beside the point; the point is who is actually responsible for preventing breakage?

    The dilemma comes down to the idea that even in the OSS world, developers are not free, and if such a breaking change is introduced that only manifests itself on a minor platform, what is the best way to move forward? Should anybody that makes a submission be responsible for tesitng that submission on every port and derivative project?

    It all comes down to a balancing act. Is it worth it to you that GCC releases get released a week later so that AIX can be supported? Or should the AIX people (or the GCC VAX people, or the GCC C64 people) have their own separate fork and their own release schedule, so they can handle their own regression testing? The answer is suprisingly not always obvious, and the wrong decision may have political costs in the amount of people working on the project.

  122. Re:platform-specific bugs? Doubtful by Anonymous Coward · · Score: 0

    The bugs due to platform bugs -- well, knowing about them helps improve the platform.

    Not if your platform is AIX, or HP-UX, or ...

    There are some platforms that steadfastly refuse to do anything but suck.

  123. Portable code by Anonymous Coward · · Score: 0

    If you want to keep Open Source portable, then you need people to actually try it on other platforms. I have the impression that portability has been a sinking ship during the last ten years, while OSs became more similar than ever.

    If you want to use GNU on Windows for example, you are mot probably stuck with Cygwin. Cygwin however is not really porting the software to windows, but emulates all the features that Windows lacks. This however is slow and results in quirky program behaviour. Moreover their version of gcc breaks some stuff that is fine in the main branch which is quite sad, because gcc is designed portable enough to run on Windows without being lobotomized.

    I think the support of minor platforms will enrich the software world. Having just another million devellopers who try to make Linux look like Windows will not.

  124. Not at all by achurch · · Score: 1

    Actually, I think a much larger problem is just that: Many OSS developers don't even try to support Windows. Yes, I know you hate the OS and don't want to support Microsoft, etc., etc.. But, how can you complain about major software not supporting Linux when you're writing your own software that doesn't support Windows? Isn't that entirely hypocritical?

    Not at all. For one thing, the "major software" people complain about is commercial software--people are being paid to design and write it--while most open source projects are simple free-time hobbies. Why should someone creating software for fun feel pressured to support a platform he doesn't want to?

    For another thing, supporting Windows is in an entirely different class than supporting BSD/Solaris/m68k/x86-64/etc. For all their differences, BSD, Solaris, and all the other Unix-lookalikes share an overall operating paradigm with Linux--the "everything is a file" concept (device files, named pipes and the like), or the use of shells and pipelines, for example. Windows is very different, and supporting it properly (i.e., not using Cygwin or the like to immerse yourself in a Unixlike environment [*]) is something on a completely different scale than dealing with other flavors of Unix. Writing code to be that portable is an order of magnitude more work than writing it to work only with Unix-like systems.

    I do agree that code which is intended to work on "any Unix-like environment" ought to be designed that way from the start, not relying on things like the size of an int or a particular filesystem layout. But "portablity at any expense", like every "X at any expense", is overdoing it.

    [*] If being able to build on Cygwin is enough for you, then by all means add support for it, but I'm of the "if you're going to do something, do it right" belief.

    1. Re:Not at all by Temporal · · Score: 1

      Why should someone creating software for fun feel pressured to support a platform he doesn't want to?

      Indeed, if OSS is to be considered "just for fun", then by all means, do whatever you want. But I think a lot of projects take themselves a lot more seriously.

      For another thing, supporting Windows is in an entirely different class than supporting BSD/Solaris/m68k/x86-64/etc.

      Indeed. As an example, I recently finished a prototype virtual machine for a programming language I designed. It's a bit over 20k lines of C++. This, of course, used a lot of low-level OS features, like direct memory management (mmap/VirtualAlloc) and asynchronous I/O and event processing (AIO/overlapped IO/kqueue/MsgWaitForMultipleObjectsEx/epoll).

      After spending a year developing on Windows, the initial port to FreeBSD took a whole two days. But, from there to OSX took only a couple hours. And writing a generic driver that should work on all POSIX systems was only a few more hours. So, indeed, Win32->POSIX was the hardest part. But compared to the time taken developing the rest of the project, it was practically irrelevant.

      The fact is, if you're smart about it and use the proper abstraction layers, porting is practically a non-issue, even between Win32 and POSIX.

      But "portablity at any expense", like every "X at any expense", is overdoing it.

      I didn't mean it that way. I just think that the average OSS developer needs to take it more seriously than they currently do.

      [*] If being able to build on Cygwin is enough for you, then by all means add support for it, but I'm of the "if you're going to do something, do it right" belief.

      Cygwin is better than nothing. If your project is heavily dependent on shells and other unix-isms, then Cygwin is probably ideal. But I do agree that serious software should go straight Win32.

    2. Re:Not at all by achurch · · Score: 1

      With all due respect, I think developing an entire programming language is already an order of magnitude or two more complex than most OSS out there. That's certainly something you want to design portability in for, but that doesn't mean the same amount of effort is appropriate for all OSS. It all depends on your target audience.

      To inject a bit of personal experience into the discussion, another scenario that I suspect happens frequently is that a program never intended for general use finds its way out for one reason or another. When I started developing IRC Services, I had only intended to use it on my local network, and thus I didn't even think about things like BSD/Solaris or endianness, much less Windows. For various reasons, a year or two later I ended up putting it out for everybody to use, but all the assumptions were already in there, and even figuring out what they were (much less getting them out) hasn't been easy.

      Was it Fred Brooks that said that developing for others is an order of magnitude harder than developing for yourself? One can hardly be surprised that people would avoid putting such effort into programs they don't intend to release anyway.

  125. Re:platform-specific bugs? Doubtful by Tamerlan · · Score: 1

    You are right to some extent. Many previous slashdotters said that too. From my own experience - we have discovered many memory-related bugs quicker just because we had a Solaris port and memory layout is different.

    As a submitter of this story I am partially at fault for misunderstanding, because I wrote about "bugs". I wrote more extensive blog entry on that, but main point is that there are two many differences even in close platforms. So to actually write a cross-platform code you _must_ know peculiarities of each platform.

    I mean, just look at APR or NSPR. Several examples:

    • Dynamically loaded libraries. Even Solaris and Linux different, let alone HP-UX and Windows
    • Taking care of endianness independence presents additional burden
    • Case-insensitive vs case-sensitive file names
    • Different forms of line feeds (I am aware of 3 (three))
    • Path separators, separation of path elements in PATH.
    • Even Linux distros have different layout of configuration files and startup scripts. If your application has to deal with that - you are in trouble. Let alone Solaris, HP-UX, AIX, whatever.
    • System utilities sometimes have different set of flags
    If this is not enough, try to look at the output of some non trivial autoconfigure script!
  126. Build/configuration *is* a problem Java solves by MilesParker · · Score: 2, Insightful

    Drepper is right about build and configuration being the fundamental issues. This is where Java is the clear winner. I know others have pointed out the advantage of Java (or gasp, C#) here, but I have to say that advantage is real and growing, even if as others have pointed out there are legitimate issues with GUI. I will grant that some issues still exist with GUIs, but
    a) They aren't as bad as people make out. I have used and developed many apps that work fine under all 3 major platforms, perhaps not with all of the finer distinguishing platform features intact, but quite functional and not fugly.
    b) So much of what is developed has no GUI component at all. And note that there are non-Java GUI solutions that work very well with Java.

    But ulitimitly the reason that Java works is that there are strong, simple common build solutions such as Ant that make configuration and build easy and, critically, transparant. I have had much experience with make and much more with Java tools like Maven and Ant, and I would pick a Java based solution any day based on that. Typically with Java, the build just works, and if it doesn't it is very easy to scan the ant .xml and figure out why.

    OTOH, when make fails there are nearly always odd dependency issues, switches that need to be discovered, etc. etc. And this is where I disagree a bit with Drepper -- often these are not because of obscure platform issues but have to do with use of different very common distros, slight differences in lib version and so on. And these problems do reach expontential complexity very quickly

    I will certainly not claim to be a *nix expert but for me and I think many other developers this all makes Java a joy to work with -- at the risk of sounding like a cheerleader, "it just works".

  127. Using this logic.... by katorga · · Score: 1

    Why should anyone support ports to Mac OSX or Linux? After all, they are a tiny fraction of the platform market.

    The same goes for hardware platforms. Why support anything other than x86?

    This redhat employee is sounding suspiciously like what I would expect a microsoftie to say.

  128. Agree, and... by leonbrooks · · Score: 4, Insightful

    ...adapting your application to architectures as diverse as x86, ppc, MIPS and Sparc at different word-widths is a great way to uncover subtle and long-standing bugs.

    To be sure, robustness may be as optional for you as it was for Microsoft (and would still be, absent competition from Linux), but in the long run it seems to pay off.

    Most of us Linux users would not regard, forex, The GIMP as particularly robust, but compared to the typical WIn32 app it's a paladin of reliability. My sister-in-law routinely leaves it open (and unsaved) for weeks on end, confident that it will still be there when she gets back (but a recent hard-disk failure of mine seems to have put the fear of God into her WRT reliability). She also happily browses everywhere fearlessly, knowing that she can't damage anything on her own machine, and nobody either I or her know of have ever been burnt by malware while browsing in Linux.

    MS users just don't do that - not more than once or twice, anyway.

    --
    Got time? Spend some of it coding or testing
    1. Re:Agree, and... by FireFury03 · · Score: 1

      MS users just don't do that - not more than once or twice, anyway.

      I'm afraid in my experience, MS users *do* do it over and over and get burnt over and over. (Strangely reminiscent of the Simpsons episode "Duffless" where Lisa wires a cupcake to give Bart a shock, but he keeps reaching for it anyway, never learning)...

    2. Re:Agree, and... by jacksonj04 · · Score: 1

      Some (Okay, many... most then) MS users do, but not all. I have never once been infected with malware, and only once by an unknown virus. Yes, I use XP as my desktop.

      --
      How many people can read hex if only you and dead people can read hex?
    3. Re:Agree, and... by darkwhite · · Score: 1

      routinely leaves it open (and unsaved) for weeks on end, confident that it will still be there when she gets back

      You know, the idea that someone would not expect that from any kind of application fucking infuriates me. And your FUD about Windows does, too. It may still be the case with IE - I don't know - but every single application I use under Windows is rock-solid and can be used indefinitely. More so than many Linux desktop apps, in fact (probably because they're all in very active development).

      --

      [an error occurred while processing this directive]
    4. Re:Agree, and... by Anonymous Coward · · Score: 0

      i leave apps open on windows for months. i do it on macosx too. on linux, it's actually a bad idea, because my xservers have a tendency to die, and unless i'm smart enough to use xvnc to host each app individually, that means i lose all my apps (* my apps don't support any of those fancy session saving features, and they tends to be fairly stupid about saving document state when being told to quit by apis instead of users).

      do i leave apps open in a web browser? yes. is that a good idea? not with mozilla, given that my mail program crashed over the weekend. would i leave a document open in msword? probably not, but i tend to use wordpad and notepad and mspaint, and those system apps are not going to crash unless you take crash.exe to them.

      it's very rare for me to lose my windowserver on osx (even after causing the HID driver for my mouse to be unavailable, i was able to reach the mac via vnc and safely close my apps).

      if my windows xp box's video driver or display fails, i can rdp into it and safely shutdown the session (or just use it for another month...).

      while it is possible to crash the windows terminal services service, the only way i've managed to do it is to run out of memory, ignore a series of messages indicating i'm really out of memory (none of these resulted in crashes or apps being forcibly terminat), and then ask the terminal service to do work (create a new session), ok, so that service isn't perfect, however windows in general sure handles OOM a lot better than linux (believe me, i've killed plenty of linux and bsd and solaris boxes).

      compare this with linux, where in default configurations, when you're unlucky, your web browser visits some stupid page that requires massive amounts of memory and the oom killer decides to whack something important. (yes, i know you can turn off the oom killer, do you?)

  129. Re:Debian's more about leadership attitudes, I thi by Kadin2048 · · Score: 1

    I'm really torn about what to think of Debian.

    On one hand, I really like the concept--that they keep Linux available on a wide range of architectures, and perhaps more importantly, they keep a very stable version of it widely available. So if I ever came across an old UltraSparc or something, I'd just be a download away from having a working OS on it. (In theory.) Or if I want an absolutely-stable but not cutting-edge OS for a router or embedded system, I know exactly where to go also.

    But this all occurs at the cost of development on the main-line branches: the Intel/AMD and perhaps PPC architectures with high demand are 'subsidizing' mostly inactive minor architectures. The question is whether the fringe benefits of those minor platforms--including the simple fact of being able to say that Linux supports them--is worth this diverted effort.

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  130. Re:Porting apps to M$ OS not as hard as it used to by moof1138 · · Score: 1

    >The file system supports file names longer than the Mac ever did.

    This is not correct. Mac OS 9 and Mac OS X support filenames that are 255 Unicode character in length. Mac OS 8.6 and earlier had the 31 char filename limit.

    --

    Hyperbole is the worst thing ever.
  131. Lessons from Netscape by os2fan · · Score: 1
    The biggest fear that Microsoft have is that the OS will be "commoditised" (ie made replacable). The reason they went after netscape was that netscape threatened to reduce them to a (badly debugged) set of device-drivers.

    Any effort to make the user interface and utilities unrelated to the underlying system will surely do this, to an end better than anything else.

    Supporting different operating systems is a bitch, but the rewards are worth it no end.

    --
    OS/2 - because choice is a terrible thing to waste.
  132. Re:I hope he writes C better than he writes Englis by Anonymous Coward · · Score: 0

    Grammar nazis are the most pathetic lifeform on the planet. Please go back under the rock you came from.

  133. Ulrich Drepper is an asshole. by Anonymous Coward · · Score: 0

    I never much liked this guy, from what I've read about him. He seems to go off in a lot of hissy fits and has some unusual opinions about the future of Linux, of glibc, and of what their priorities should be. Just an all around head case.

  134. Single Platform Development Considered Harmful by Stephen+Samuel · · Score: 1
    My experience seems to indicate that porting to multiple architectures / OSes, etc. tend to expose bugs that existed but would have stayed hidden for a longer period of time if they been limited to a singld platform.
    So, yes there is more work, but a lot of that is really just front-loading the process of bug-squashing that's better to be done at the front end anyways.

    I think that, to an extent this is a case of confusing the symptoms and the underlying cause. Sometimes, for example, taking Tylenol 3's can cover up a headache. This may seem good, but if the end result is to hold up tracking the underlying problem (say, a brain-tumor) until it causes serious complications, the long-term result of supressing the symptoms is actually negative.

    --
    Free Software: Like love, it grows best when given away.
  135. Straw man by Markus+Registrada · · Score: 4, Insightful

    Of course the headline Slashdot reported is not what he said. Uli is abrupt, but he is practical, and not stupid. He's not always right, but when he's wrong he's interestingly wrong. If you think he's arguing for something stupid, you aren't paying attention.

    What he said was *not* that Glibc, or Gcc, and whatnot shouldn't be ported to AIX, m68k, and whatever. What he said was that he does not care to *maintain* those ports, and should not be expected to. IBM (or IBM's customers) can certainly afford to maintain a port for AIX. Let them. Likewise, all those embedded-system houses dependent on m68k targets are welcome to step up and supply their own patches to keep their ports working.

    If a patch to mainline breaks the AIX port, it's the job of the AIX maintainers to figure out how to fix the patch, not him, and not whoever contributed the patch (but has no access to AIX targets).

    He's not even saying he would reject patches needed to support minority targets. Whoever's maintaining the m68k port doesn't need to maintain a fork. They are entirely welcome to send along whatever patches they need installed. They need only be sure their patches don't break any supported targets. This certainly makes more work for users of less popular targets, but it spreads the work around, instead of piling it up on those doing mainline development. The mainline maintainers have plenty else to worry about.

    1. Re:Straw man by Nasarius · · Score: 4, Interesting
      (but has no access to AIX targets).

      With a project as big and important as GCC, you'd think they'd have a server for each platform set up for all their developers to play with. Gentoo has Sparc, MIPS, PPC, etc. boxes for their developers to use for porting software.

      It seems to me that a smart idea would be to have some kind of system where a developer could submit a patch, which would then be sent out to a server farm, where each server would try to compile GCC with the patch, then run a test suite. Doesn't Mozilla do something like this nightly?

      "I don't have access to a [foo] box" should never be a valid excuse with larger projects.

      --
      LOAD "SIG",8,1
    2. Re:Straw man by Anonymous Coward · · Score: 0

      Why not port it yourself? After all that's what OSS software is all about.

    3. Re:Straw man by Markus+Registrada · · Score: 2, Insightful
      With a project as big and important as GCC, you'd think they'd have a server for each platform set up for all their developers to play with.

      So, everybody who fixes something that (incidentally) affects emission of debug annotations in Gcc has to learn all the idiot formats used in AIX, Solaris, Tru64, PE, and what-have-you just because FSF happens to have those machines? Yes, somebody on the project might know intimate object-file format details about any of those. It's unreasonable to expect everybody to learn them all before a patch may be accepted.

      The FSF has those machines for doing builds, not for random strangers to poke around in. Suppose your patch does break some obscure AIX test. What are you supposed to do about it? Hire IBM Global Services to figure out why, and fix it, so you can submit it again?

    4. Re:Straw man by medgooroo · · Score: 1

      Isnt that exactly what most of the porting teams do?

      --
      Brain(s): 0.0% user, 1.3% system, 0.1% nice, 98.6% idle
    5. Re:Straw man by Anonymous Coward · · Score: 0

      He specifically said to keep the ports out of the base code repository, so patches for AIX (and others) would not longer be accepted. Yes, I read the fine article. He isn't practical, he's rude. "I'm going to take my toys and go home". Excuse me, but did you write those all from scratch yourself? Kiss my butt. A lot of people on alternate platforms have been contributing for years, and now they are all to be shut out? Yeah, there may be a few noisy slackers just tagging along for the ride, but a lot of other silent grunts have been rolling that ball up hill for the last 20 years or so. Thanks a lot and see ya? What a turd....

    6. Re:Straw man by Anonymous Coward · · Score: 0

      In case no one else noticed....

      GCC predates Linux
      GCC predates PPC
      GCC predates ARM

      SO I think that GCC should stop supporting Linux PPC and ARM......

    7. Re:Straw man by Anonymous Coward · · Score: 0

      >>Likewise, all those embedded-system houses

      The Linux kernel is a silly choice for this argument. The whole argument is based on an incorrect assumption: that Pentium/AMD64 CPUs are the majority in the Linux world. It is not true.

      Each year less than 1% of CPUs sold are Pentiums/AMD64. The vast majority of CPUs sold are for embedded systems. And today a decent proportion of embedded systems run Linux.

      The Pentium/AMD64 servers/desktops ARE the minority.

    8. Re:Straw man by finkployd · · Score: 2, Insightful

      Perhaps if they are unable to actually produce a cross compiler then they should stop pretending they do. Although frankly, as much as I like and use GCC if they are no longer going to be a cross compiler I have no idea what they will compete on. Sure as hell will not be performance.

      So, everybody who fixes something that (incidentally) affects emission of debug annotations in Gcc has to learn all the idiot formats used in AIX, Solaris, Tru64, PE, and what-have-you just because FSF happens to have those machines?

      They made the choice to support those "idiot formats" as you ignorantly say. If they plan to half ass it, they should expect to gain some critics.

      Finkployd

    9. Re:Straw man by Markus+Registrada · · Score: 1
      Each year less than 1% of CPUs sold are Pentiums/AMD64. The vast majority of CPUs sold are for embedded systems.

      Then why are people who only have Intel/AMD boxes expected to do 99% of the work?

    10. Re:Straw man by Markus+Registrada · · Score: 1
      Perhaps if they are unable to actually produce a cross compiler then they should stop pretending they do.

      It's one thing to produce a cross compiler, another thing to run tests on the cross target, and a third to figure out how to work around bugs in the cross target's native linker and debugger. Some people are paid to do that last. I'm not. If my patch happens to tickle one of those bugs, whose job should it be to track down why, and propose an alternive patch? Somebody who is paid to grovel around in proprietary linkers, or me? If it's me, then how?

      I have lots and lots of other things to keep busy with. If it's too much work getting a bug fix in, maybe I'll just figure out a local workaround.

    11. Re:Straw man by Anonymous Coward · · Score: 0

      who is 'they' and how much did you contribute to support those machines? they aren't free as in beer you know.

    12. Re:Straw man by Anonymous Coward · · Score: 1, Insightful

      The problem is not that he's sometimes wrong, it's that when he's wrong there's no way to stop him from being wrong through years and years of glibc releases. And don't even think about submitting a patch that fixes whatever you think is wrong -- he's not interested. Ask anyone that's tried to work on glibc in the last 5 years and you'll understand.

    13. Re:Straw man by dvdeug · · Score: 1

      What he said was that he does not care to *maintain* those ports, and should not be expected to.

      What he said in a email message to the GNU Libc list linked to on this page, is that he does not care to avoid out-and-out right bugs, like including Linux-specific headers in a generic ix86 file, that other people should be responsible for fixing his bugs.

    14. Re:Straw man by James+Youngman · · Score: 1
      With a project as big and important as GCC, you'd think they'd have a server for each platform set up for all their developers to play with. Gentoo has Sparc, MIPS, PPC, etc. boxes for their developers to use for porting software.
      I think you have overestimated the level of funding available to the Free Software Foundation, for one thing. Until quite recently, for example, fencepost.gnu.org (the machine that used to be used as the bastion host for the GNU project) was a Commodore Amiga!

      The FSF doesn't have the money to manage and administer and maintain a big cluster of disparate machines. This is occasionally a problem; I have had portability problems in findutils relating to NetBSD and Solaris, for example (and, less significantly, Ultrix and Unicos).

      It seems to me that a smart idea would be to have some kind of system where a developer could submit a patch, which would then be sent out to a server farm, where each server would try to compile GCC with the patch, then run a test suite. Doesn't Mozilla do something like this nightly?
      Yes, it's called Tinderbox. This would be a good idea for other projects too. It would probably take a reasonably talented person about a month to set up a farm of machines to do nightly builds of all the GNU project's software. That is, of course, if the hardware infrastructure existed.

      However, as other posters have commented, it's not always just accidental portability bugs. It is frequently the case that specific code has to be written to support particular platforms (this has been the case for supporting secure directory tree traversal on Solaris, for example). That extra code is going to be additional effort, and it is not unreasonable to expect that extra coding effort to be invested by those with specific interest in that problem. Sadly, this is not often the case. There are lots of important free software projects that could do with more help.

  136. A proposal for the new millenium by synthespian · · Score: 1

    A proposal for the new millenium that article was, wasn't it? "Let's not write portable code! Let's give up even trying!"
    While the Linux Standard Group and the Open Group work together to solve any LSB and POSIX glitches, here comes this RedHat guy with the bright idea.
    If you write software for Unix you should be OK, shouldn't you? People have been doing it for decades. At least, that was the impression little old me was under.
    Now, I'm sure RedHat has this little strategist amongst their ranks. He wears a...red hat, because it gives him bright ideas. For instance, one of their strategic ideas is: not care about Mono, because it's SuSE's thing, so they can go after SUN's spoils using Java, a proprietary platform. And now this new one: let's break everything! Let's make thing go "bump" in the nightly builds!
    After all, there's sooo much that was just Linux software, like OpenSSH, right? Oh! I forget! That was from OpenBSD originally! Gee!
    Ah...these little strategists with red hats...

    --
    Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  137. It's Matlab, isn't it. by Ayanami+Rei · · Score: 1
    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  138. Re:platform-specific bugs? Doubtful by Anonymous Coward · · Score: 0

    If you bothered to find all the bugs in Linux and remove them, you'd have no part of Linux left. Good luck with that.

  139. this from Mr GLibC by Anonymous Coward · · Score: 0

    If Glib didn't support every architecture and every OS under the Sun, it wouldn't be such a joke, and might even be understandable.

    As it is, GLibC is pretty much a joke - the pinnacle of crazy complexity.

  140. Not true for some projects by Pope+Raymond+Lama · · Score: 3, Interesting

    I track development of The GIMP - it just compiles fine in all "strange minor platforms", and a recent chain of Bugs in Irix compiling was resolved overnight - a matter of the Irix user reporting the bugs, and the core developers commiting the fixes.

    However, there is a non minor and weird platform which actually does generate a lot of trafic on the list, and is strange for most developers. Anyoen checking The GIMP bugizlla will find a lot of open bugs for Microsoft Windows Plataform. That however, doesn't slow the project either. It simply goes on, and the developers who work on Compiling and making the windows installer do what they can for the work arounds.

    --
    -><- no .sig is good sig.
    1. Re:Not true for some projects by Anonymous Coward · · Score: 0

      Thats also because (I presume) that The GIMP does not have the same formal commitment process that the GCC steering group does. With GCC, they formally pledge to support certain platforms in subsequent releases, and there is a standard process that they have to go through to formally "retire" a specific port. If The GIMP doesn't make those pledges, they are obviously not bound by any obligations.

    2. Re:Not true for some projects by Pope+Raymond+Lama · · Score: 1

      Actually GCC has some thing rather specific to it: it is inhrently rather different for each platform it works on.

      The GIMP has got nice, clean, multiplatform code, but for some specifc parts - and in these parts, the only code that differs is Windows code (and OS/2 for that matter). So most platform differences are ignored. GCC on the other hand HAS to know about every detail and implement it for each target platform it works on.

      --
      -><- no .sig is good sig.
  141. Re:Debian's more about leadership attitudes, I thi by synthespian · · Score: 2, Insightful

    I'm really torn about what to think of Debian.
    On one hand, I really like the concept--that they keep Linux available on a wide range of architectures


    Everytime somebody likes to say that about Debian, I like to remind them the NetBSD folks support an acorn26 acorn32 algor alpha amd64 amiga amigappc arc arm32 atari bebox cats cesfic cobalt dreamcast evbarm evbmips evbppc evbsh3 evbsh5 hp300 hp700 hpcarm hpcmips hpcsh i386 iyonix luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc pc532 playstation2 pmax pmppc prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k xen impressive array of platforms, and at the same time hack userland, kernel and protocols. While Debian developers mostly package upstream stuff.

    --
    Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  142. BS by l3v1 · · Score: 1

    /* note: it seems all my today's comments will be titled BS :( */

    As always: some big player (or at least thinks it is) starts bashing something other do but he doesn't have the capacity, will, resources, etc. to do. Support of "minor" platforms has always been one of the many strengths of Linux ! Now some pongo comes around and thinks better. Oh, get lost.

    I can certainly understand the extra work and resources and knowledge needed to concurrently support multiple architectures - think debian as a classic example, though they also started dropping some -, still, the benefits can be huge: bug discovery, nicer design, easier portability (yes, given portability makes further portability easier :), fame :), appreciation from the "minority" users, etc. And think, Linux today, in some form, is ubiquitous, meaning realtime systems, embedded systems, pda's, development boards, general-purpose computers, control systems, etc. If you think all these don't mean portability, you're wrong.

    --
    I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
  143. FUD by kaffiene · · Score: 1

    Java also runs on Macs. Hell, there's even Java for Amigas and OS2, but don't let any FACTs get in the way of your FUD.

    And since Windows, Macs, Linux, Solaris covers about 99% of the computing in the world, that's not exactly non-portable.

    And ANYONE can produce a JVM - the spec is open for anyone to create. Sun don't have to do anything to allow that (you did notice that Apache are producing a FOSS JVM, didn't you?)

    If you don't like Java, don't use it, but quit lying about it.

    1. Re:FUD by quelrods · · Score: 1

      um proof of concept? Have you ever tried using gjc? Don't talk to me until you have. I was attempting to get Zend Studio (the only way to get code profiling in stack traces in php) working and guess what gjc couldn't get me anywhere. In order to even get the damn thing installed I had to install the sun java jre. Please link to docs where the spec is 100% open. Perhaps the "spec" is open but guess what all the classes that sun wrote and everyone uses sure aren't. I wasted a lot of time at University using java before I switched to a school that taught everything c/c++ based. Please don't lie about the supposed portability of java. The facts tend to tell more than the theory. Apache is producing their own JVM? You do realize tomcat (the apache java servlet container) doesn't really work without sun java, right? Finally, I don't use java every experience is infuriating. Unfortunately the attitude of don't use it if you don't like it is the way that trolls try to claim it's portable. Guess what, if it were portable I COULD use it.

      --
      :(){ :|:&};:
    2. Re:FUD by kaffiene · · Score: 1
      um proof of concept? Have you ever tried using gjc?

      Yes, I have.

      Don't talk to me until you have. I was attempting to get Zend Studio (the only way to get code profiling in stack traces in php) working and guess what gjc couldn't get me anywhere. In order to even get the damn thing installed I had to install the sun java jre.

      Ok, for a start, JVM != GCJ. An ahead of time compiler is not a JVM. Secondly, the fact that GCJ isn't complete yet doesn't mean fuck all - other than that their project could use more helpers. That's like me saying that some half arsed compiler I found doesn't compile stdio in C, so C isn't portable. That's a stupid argument.

      Perhaps the "spec" is open but guess what all the classes that sun wrote and everyone uses sure aren't.

      The source code for the Sun classes is in a file called Src.zip at the base directory of the JDK installation. Additionally, people aren't supposed to use the Sun classes, they're not part of the spec, they're glue between Java and the OS. Each Java implementation needs to write its own glue code.

      I wasted a lot of time at University using java before I switched to a school that taught everything c/c++ based.

      I've been coding C for two decades, C++ for about 12 years and Java for about 8. I'm glad your schooling helped you to know everything.

      Please don't lie about the supposed portability of java. The facts tend to tell more than the theory.

      I see. Decades of industry experience writing actual Java code (which all ported quite perfectly well, thank you - developing on Linux, deploying on Windows and developing on Windows and deploying and Win32 and Mac) doesn't mean anything, but what you learned at school is just the best Only Way To Go? Listen up: you need to know as many tools as you can. C, C++, Java are all good - ditto Lisp, Delphi / Pascal, C#, .NET, Python etc... (all tools I have actual industry experience with) They all scratch different itches, they're all good stuff in their own way. Do me a favour and don't go around telling people that this sucks or that sucks until you have more experience than what your teacher said.

      Apache is producing their own JVM? You do realize tomcat (the apache java servlet container) doesn't really work without sun java, right?

      Um... it's pretty difficult for them to get it to run on Harmony before they write it, yeah?

      Finally, I don't use java every experience is infuriating. Unfortunately the attitude of don't use it if you don't like it is the way that trolls try to claim it's portable. Guess what, if it were portable I COULD use it.

      Yeah right. Did your teacher give you that opinion too?

    3. Re:FUD by quelrods · · Score: 1

      Lets go back to your parent post.

      And ANYONE can produce a JVM - the spec is open for anyone to create. Sun don't have to do anything to allow that (you did notice that Apache are producing a FOSS JVM, didn't you?)

      The ability to do something is not the same as having a fully functioning OSS solution. Yes the apache group is trying to get tomcat running without requiring sun java. All the various things that sun did that are not documented are sure to create fun compatability woes.

      Secondly, the fact that GCJ isn't complete yet doesn't mean fuck all

      I fail to see how the lack of existance of an OSS compiler and vm doesn't mean anything. That's exactly my point since everyone likes to rely on sun and we're left with a compiler and vm that runs only where the wims of sun take it.

      Additionally, people aren't supposed to use the Sun classes, they're not part of the spec, they're glue between Java and the OS.

      Exactly, congratuations to them for never worrying about portability because there was only sun.

      I've been coding C for two decades, C++ for about 12 years and Java for about 8. I'm glad your schooling helped you to know everything.

      I take offense that you thumb your nose at me. Though, I can't be that dumb since I am apparantly worth the time to write a response to. Further, I certainly do not claim to know everything.

      Yeah right. Did your teacher give you that opinion too?

      No my opinion that all the java trolls/zealots just tell everyone who does not agree with their point to not use java is entirely my own.

      Also, want to talk java hell? I've wasted countless hours going back and forth with the Zend support guys attempting to get Zend Studio running on my FreeBSD workstation at the office. The platform is supported as a server but not as a client.

      --
      :(){ :|:&};:
    4. Re:FUD by kaffiene · · Score: 1

      The fact that there isn't a (good) FOSS JVM is sad, but not proof that it's impossible for anyone to implement one. IBM managed okay, and there are several FOSS JVMs, just not very good quality ones.

      That's regretable, but it's hardly Sun's fault.

      You utterly failed to see the point of the Sun classes - they are GLUE code. Go read up what GLUE CODE means. Saying that Java is non portable because of the Sun classes is like saying OpenGL and DirectX are both non portable because they need a driver.

      And WTF does Zend Studio have to do with anything? You found a crap application so Java sucks??? Jesus wept. I found Windows 98 so you can't write secure apps in C. Great argument.

  144. The opposite is sometimes true by thisisauniqueid · · Score: 1

    Porting code to other platforms often helps expose bugs, such as where a programmer assumed that a pointer will always fit in an int, or that a machine word is always an int. The reason that Windows XP took so long to port to AMD64/EM64T is presumably because there were a *lot* of those sorts of assumptions made in the Windows codebase.

  145. 32 Bit vs. 64 Bit by Marvin66 · · Score: 2, Informative

    C++ long => 32 Bit
    Java long => 64 Bit

    So you are comparing Apples with Melons ;)

    1. Re:32 Bit vs. 64 Bit by Anonymous Coward · · Score: 0
      On an Athlon 64 3000+ with gcc 3.4.3 and Sun java 1.5.0_03:
      $ g++ -m64 primetest.cpp -o primetest64
      $ time ./primetest64

      real 0m1.812s
      user 0m1.809s
      sys 0m0.002s

      $ g++ -m32 primetest.cpp -o primetest32
      $ time ./primetest32

      real 0m1.483s
      user 0m1.432s
      sys 0m0.002s

      $ javac primetest.java
      $ time java primetest

      real 0m3.205s
      user 0m3.137s
      sys 0m0.017s

      $ time ./primetest.pl

      real 0m25.683s
      user 0m24.300s
      sys 0m0.025s
    2. Re:32 Bit vs. 64 Bit by grammar+fascist · · Score: 2, Informative

      C++ long => 32 Bit
      Java long => 64 Bit

      So you are comparing Apples with Melons ;)


      Using my mighty +1 Karma Bonus Power...

      Can somebody please mod the parent up?? The grandparent poster is apparently too clueless to create Java vs. C++ benchmarks.

      Java primitives:

      http://java.sun.com/docs/books/tutorial/java/nutsa ndbolts/datatypes.html

      C primitives:

      http://www.phim.unibe.ch/comp_doc/c_manual/C/CONCE PT/data_types.html

      Let's see the benchmark with either int vs. long or long vs., er, long long (or __int64 or whatever).

      And then, can't we all just get along? /me ducks

      --
      I got my Linux laptop at System76.
  146. He also hates strlcpy and strlcat by Anonymous Coward · · Score: 1, Insightful
    Keep in mind that this is the same man that thinks memcpy is the only thing a programmer needs - he is the reason that strlcat and strlcpy are not in glibc.

    He thinks that when people program they don't make mistakes while copying strings, that, in fact, programmers are infallible.

    Or at least that is what he says when people propose these APIs for addition into his glibc.

    I am more of the opinion that he is stubburn and does not want anything from OpenBSD, cause they are obviously an insignificant speck not worth a breath.

    It's like he's Poul-Henning Kamp and Scott Long combined and ported to Redhat.

  147. Platforms like gameboy? by UnseenEnigma · · Score: 1

    Time spent porting software to run on a gameboy may not be the most commercially viable opportunity but you must realize that this is of little concern to those who achieved it. Most open source software is born out of a "Wouldnt it be cool if..." concept. Some might say this is a very narrow view but think of it as it relates to some major projects and you can see it has far more depth than it would orginally seem. For Example: Wine: Wouldnt it be cool if all this windows software would just work on linux Firefox: Wouldnt it be cool if we could make a supperior browser and make the internet based on standards Gaim: Wouldnt it be cool if we could talk to all of our friends which happen to be using 5 different pieces of IM Software Bash: Wouldnt it be cool if we added some functionality to this 20+ year old shell so people dont have to type so much stuff Now admitedly some open source projects cant fit this mold but a great many do. I developed a modified version of the vnc java applet with a lighter interface on the rational that: Wouldnt it be cool if clients didnt have to see lots of garbage they done need. I later merged that with a ssl enabled version because I thought it would be cool if it could be easy and secure instead of the original tightvnc applet which despite being a quality piece of code is insecure and too compilicated for the average user Im not sure if anyone will even read this because the story isnt top anymore but ill check back 2mor0

  148. Not always right by cuerty · · Score: 1

    This article trys to talk about something that not necesary happens always. A couple o months ago in some thread there was a discusion about the release cicle of Debian and how it seems afected by the multiple plataforms that it's supports and somebody else name NetBSD and how it support more plataforms and has a short release cycle.

    As NetBSD, there is OpenBSD, and the filosofy of "porting is bad because it leave an open door for bugs", thats the why of the -p releases.

    --
    >Linux is not user-friendly.
    It _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.
  149. Re:Porting apps to M$ OS not as hard as it used to by Anonymous Coward · · Score: 0

    NTFS has supported filenames 4095 characters (UNICODE characters, not bytes) in length since version 3.0

  150. Hypocritical - not in the least. by k98sven · · Score: 1

    If you write your code to be portable in the first place, fixing platform-specific issues should be quick and easy.

    Bull. This guy is one of the main GCC hackers. GCC is a compiler, damnit. It doesn't get much less portable than that. Yet GCC runs on a huge number of platforms.

    But that has not come quickly nor easily. Or are you claiming that GCC isn't written with portability in mind?

    Actually, I think a much larger problem is just that: Many OSS developers don't even try to support Windows. Yes, I know you hate the OS and don't want to support Microsoft, etc., etc..

    Lack of windows support in GCC has little to do with hating windows and a lot more to do with a lack of developers on windows.

    But, how can you complain about major software not supporting Linux when you're writing your own software that doesn't support Windows? Isn't that entirely hypocritical?

    And where did Ulrich complain about major software not supporting Linux?

    My take: Port your software to every platform you can, especially Windows.

    Yeah, it's easy to tell others what they should do when you're not doing the work yourself.

    1. Re:Hypocritical - not in the least. by Temporal · · Score: 1

      This guy is one of the main GCC hackers.

      GCC is obviously an exception. However, I interpreted the guy's statement as being directed at OSS projects in general, not just GCC.

      Lack of windows support in GCC has little to do with hating windows and a lot more to do with a lack of developers on windows.

      Err. This statement confuses me, being that I've been using GCC for all my Windows coding for several years now.

      And where did Ulrich complain about major software not supporting Linux?

      Again, I wasn't making a direct repely to this guy's statement so much as expressing my opinion on a related topic. But, I'd be surprised if someone who worked for Red Hat didn't want more Windows software ported to Linux.

      Yeah, it's easy to tell others what they should do when you're not doing the work yourself.

      Lines of GPL code designed, written, and released by me in the last year and a half: 43,380

      Operating systems to which I personally ported said code: Windows, FreeBSD, Mac OSX, Linux

      Thank you, have a nice day.

    2. Re:Hypocritical - not in the least. by k98sven · · Score: 1

      GCC is obviously an exception. However, I interpreted the guy's statement as being directed at OSS projects in general, not just GCC.

      Then you completely missed the context, since he was quite obviously referring to GCC in particular. Do OSS projects in general have a Steering Committee who decides which platforms are release-critical?

      Err. This statement confuses me, being that I've been using GCC for all my Windows coding for several years now.

      Then you've probably been using the C and C++ front-ends. Those have pretty good Windows support. Not all parts of GCC are that lucky.

      Again, I wasn't making a direct repely to this guy's statement so much as expressing my opinion on a related topic.

      Oh, so it was some theoretical entity that was being hypocritical, then?

      Lines of GPL code designed, written, and released by me in the last year and a half: 43,380

      Well congratulations then. And how many of these were in GCC? Because if they're not in GCC, I don't see how that is the least bit relevant.

    3. Re:Hypocritical - not in the least. by Temporal · · Score: 1

      Then you completely missed the context, since he was quite obviously referring to GCC in particular.

      To be perfectly honest, the guy's broken English and poorly-organized writing did not entice me to read the article in detail. I was mainly going on the Slashdot summary. And even then I was mainly making a related point that I feel strongly about, not directly replying to what he said.

      Oh, so it was some theoretical entity that was being hypocritical, then?

      For a Linux user to say that AIX support is a waste of time is hypocritical, yes. Indeed, for a Linux user to claim that the minority should be ignored in order to focus on serving the majority is absurdly hypocritical. Ulrich makes both claims.

      It's also hypocritical for a Linux user to refuse to port to Windows in an attempt to force people to use Linux. But that point is not directly related to Ulrich's post.

      Because if they're not in GCC, I don't see how that is the least bit relevant.

      My original comment had nothing directly to do with GCC. I was responding to the idea that OSS projects in general should not support "minor" OS's. Even if that wasn't Ulrich's point, it's what the Slashdot summary said, and I wanted to respond to that.

    4. Re:Hypocritical - not in the least. by Lifewish · · Score: 1

      I think it's a good point.

      It's just that everyone's allergic to the h-word these days.

      --
      For the love of God, please learn to spell "ridiculous"!!!
    5. Re:Hypocritical - not in the least. by Anonymous Coward · · Score: 0

      GCC is a compiler, damnit. It doesn't get much less portable than that.

      Huh? A compiler turns source code into an executable format. There's nothing platform-dependent about that. A compiler, having little in the way of platform dependencies and user interface, is pretty damn easily portable.

      The output of the compiler, on the other hand, is very platform-specific. But that doesn't mean the compiler itself is particularly non-portable.

  151. My response by Brandybuck · · Score: 1, Troll

    I hate to break the news to Mr. Drepper, but Linux is a "minority" operating system! It's not mainstream. This isn't a troll, it's the truth.

    If the goal is to replace one monopoly with another, then he would be correct. But that's not the goal folks! The phrase "word domination" is joke, and you're too stupid to get it! One of the chief attributes of Free and Open Source software is choice. But Mr. Drepper doesn't want choice. Democracy is nothing without a choice of candidates. Freedom of religion is nothing without a choice of belief. What good is freedom of speech when there's only one microphone?

    I'm a longtime user and advocate of FreeBSD, and his article suggests to me that Linux cannot compete anymore with other Open Source operating systems. Is that really what he thinks? Wouldn't you Linux advocates rather Linux stand on its own merit?

    What is it with Redhat that it ends up with all these arrogant people? I haven't used Redhat in six years, and with the way things are going, it will be at least six years before I even consider trying it again.

    --
    Don't blame me, I didn't vote for either of them!
  152. Doesn't work that way by dtfinch · · Score: 2, Insightful

    Porting and generally most other open source development happens on a needs basis. Developers decide "I need/want this, so this is what I'll work on." If someone needs a specific port of Linux, they will put forth effort into developing one, effort that might not go into OSS development otherwise. You can't believe that if you get them to stop, that energy will be focused on what YOU want them to work on.

    If there's a problem with developers being bossed around into doing niche work with no compensation, and they don't like it, they need to stand up for themselves. For example, if IBM wants gcc to work well on AIX, they should either make it happen themselves or pay the gcc developers to better look out for their interests. If, on the other hand, the gcc developers are well compensated for fixing AIX problems (I don't know what the situation is), then there's no problem, except in the eyes of bystanders who don't understand the situation.

  153. I disagree. by Tei · · Score: 1

    Microsoft think portability its for canoes.

    Hes wrong.

    Portable code its often much better than non-portable for a good reason:

    - Can't use system dependant hack's to work.

    --

    -Woof woof woof!

    1. Re:I disagree. by smash · · Score: 1
      He's not saying you need to write non-portable code. I read it as being an encouragement to write "portable" (well, "easy to port", or "modular", "extensible") code.

      He's just saying that you don't want to waste resources supporting configurations that don't, in the larger scheme of things, matter.

      If someone wants Project "x" to run on their Atari, then they can port/maintain the patches to do so. DON'T bog down the main tree, and hold up development for everyone else.

      I think its a very valid point.

      smash.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  154. Re:I hope he writes C better than he writes Englis by Anonymous Coward · · Score: 0

    Considering this guy is the maintainer of glibc, arguably the most important userland package on Linux, I think it's fair to question: is this guy's C really any good? Because honestly, the guy has some messed up opinions on software.

  155. Linux? Mainstream? by whjwhj · · Score: 1

    > non-mainstream (read "non-Linux") operating systems

    Ha ha! Linux as 'mainstream'! Oh man that's too much! I needed a laugh!

  156. A different look on the argument... by Anonymous Coward · · Score: 0

    Whilst it wasn't formed very well, I got the impression he may have been talking about some distros and software projects' goal to have everything running on many different platforms BEFORE any single platform gets it working and released. I think there's something to be said for independent groups to maintain platform-specific bits and merge it into the core of the project or distro after being rigorously tested... The end result being 1. a release may support a feature on x86 weeks or months before it's supported on ppc (but at least we get that feature) and 2. the software stays stable while the ppc stuff is written and tested away from the official or stable releases.

  157. WIndows, Symbian and other minor platforms by S3D · · Score: 2, Informative

    I strongly disagree here too. I use a lot of open source programs , but I'm working with Windows and Symbian. OO, Gimp, Axiom, Maxima, gcc (major component of Symbian SDK), Firefox/Thundedbird/Sunbird etc.
    And I can't switch to Linux - all my projects for Windows and Symbian (and Nokia SDK windows-only, homegrown windows port require Wine anyway). And all the times I'm telling my clients and coworkers - look how much OO mre convinient then word, how Firebird is more safe, and Gimp have nice features, and Axiom and Maxima - well, you dont have to pay several thousand $/year for Mathematic. To drop support for "minor" platform would be a huge discouragement for people to use OSS. Don't forget that some OSS project are designed for mostly non-Linux platforms. Vincent OpenGL ES implementation is oriented for PPC/Symbian and don't have much sense for desktop Linux.

  158. Re:Debian's more about leadership attitudes, I thi by gothfox · · Score: 0, Troll

    Yes, because they package a truckload of upstream stuff. You know, a truckload of stuff that works.

    Not just some obscure barely usable BSD lookalike base system with half working ports.

    Alright now, BSD zealots, mod me into oblivion, but I've really been there. ;-)

  159. Microsoft C++ compiler is free by Anonymous Coward · · Score: 0

    Just one nitpick: you don't have to "pay microsoft $$$$" to get a compiler. Just download it, it's free.

    1. Re:Microsoft C++ compiler is free by colinrichardday · · Score: 1

      And what OS would you run it on?

    2. Re:Microsoft C++ compiler is free by Anonymous Coward · · Score: 0

      I assume that since one was already wanting to "develop for Windows" that they would have Windows already, yes?

      His point was that you do not need to pay anything ADDITIONAL to develop for windows using the Microsoft compiler as a lot of people incorrectly ASS-U-ME.

      I hope you don't code considering you tripped yourself up on an incredably tiny piece of illogic there...

    3. Re:Microsoft C++ compiler is free by colinrichardday · · Score: 1

      And you are assuming that he already has Windows.

  160. Define Minor by marcovje · · Score: 2, Insightful


    Open Source is always about developer, not user headcount.

    Half the Linux distro's have less developers than the avg BSD. Let's kill them off.

  161. me too: bad arch detection too by tota · · Score: 1

    I agree, there are also some problems with openssl using the wrong method for guessing which architecture it is running on, which means you can't compile it under UML 32 bit guest on a 64 bit host (it tries to build it for 64bit guest).
    That forces me to use a linux32 chroot and take the virtual machines down for the upgrade (at least until the fake /proc filesystem is restored in 2.6 uml), not nice!

    --
    TODO: 753) write sig.
  162. Re:platform-specific bugs? Doubtful by Anonymous Coward · · Score: 0

    The last time I heard a programmer talk about a subtle bug he used the word to hide the fact that he _should_ have seen that bug way before the product even reached integration testing....

  163. Re:Debian's more about leadership attitudes, I thi by Trax · · Score: 3, Informative

    Everytime somebody likes to say that about Debian, I like to remind them the NetBSD folks support an ... impressive array of platforms, and at the same time hack userland, kernel and protocols. While Debian developers mostly package upstream stuff.

    I would have to say that Debian developers, for the most part, are also involved in the userland, kernel, and protocols. Take a look at developers such as Colin Watson, Joey Hess, Branden Robinson, Ben Collins, and others are doing in and around the Free Software community. Debian developers should not be pigeonholed as being upstream packagers just because that's what the public sees as the end product.

    P.S. Do a web search on those developers to see their current and past involvements.

  164. Primary and secondary platforms by Per+Abrahamsen · · Score: 2, Insightful

    The way to resolve the problem is to have two lists of supported platforms, primary platforms and secondary platforms. Primary platforms must work, there should be no releases that break the primary platforms, and new features must be developed with all the primary platforms in mind.

    For secondary platforms, patches that make the application work on those should be accepted and encouraged, but releases won't get delayed, and new features can be accepted even if a solution for the seocndary platform has not been found. In general, users of the secondary platform should not rely on the official releases of the platform, but get their code directly from the maintainer of the secondary platform (or from a cvs branch).

    Which platforms are primary and which are secondary should depend on the application. For easy-to-use end-user stuff like ForeFox, IA32 GNU/Linux, IA32 MS Windows and MacOS X would be a good set of primary platforms. For the GCC/binutils/gdb the set need to much more varied, and include popular embedded platforms. The strength of GCC has always been portabiblity and cross-compilation. It has only rarely been the best compiler for native compilation on popular platforms.

  165. But it's always been a problem! by Anonymous Coward · · Score: 0

    In the bad-old-days, there were a zillion hardware manufacturers, each with a tiny little quirk in their own hardware. Software had to get around this. Even when they were given common, standard protocols, they would put in their own quirks. Over time all of these minor annoying quirks got squashed. Now, box x works extremely similarly to box y (even down to very picky details). The point is that extremely well written software works above the hardware detail. The hardware detail is in the architecture support layer. Each chipset (SiS/Intel/VIA/) manufacturer makes theirs work in most cases much like other verdors, with speed/performance being the major difference. So in some respects we've gained, and in some we lose. Drivers for common hardware are much more reliable as there are fewer quirks to deal with. On the other hand, radically different hardware (non-PC), is still a challenge.

  166. But the testing is distributed. by PotatoHead · · Score: 1

    Lets say we are on gcc version x and that it just happens to work everywhere.

    Everyone is happy and all the platforms are working as they can.

    So, gcc re-ups to version x + y and some things break.

    It takes time for all the software to get recompiled, the version x of gcc is still there for everyone to use, etc....

    So everybody that has an interest in gcc for their particular platform does their testing, patching, etc...

    In the end, those that really need to use the compilier can either build on the stable version, or put some elbow grease into the latest version. Whatever floats their boat.

    Of course there are going to be special cases, but the code is open right? Those that really need the latest features are empowered to do what it takes to use them just as those that don't care can sit back and deal.

    As long as there are people willing to contribute to gcc for their platform of choice, support for that platform will continue to exist in some form or another.

    It all comes down to interest. If hyperthreaded keyboard support (LOL) is the shit, you can bet folks are going to get the work done to put it into action. Those applications that can benefit are going to change as well.

    Another posted talked about the m68k support. There is plenty of interest there if you are an embedded developer. Older platforms like this are stable. They can use stable gcc versions for longer than newer platforms and applications can.

    My point being, there is plenty of time for everything to work out.

  167. How not to compare performance by Anonymous Coward · · Score: 0

    That comparison is useless
    - the testcase is much too short to measure performance rather than startup time.
    - you forgot to use any optimization/tuning options
    - you compared one C++ compiler against one Java
    implementation. You would have to try multiple
    vendors' compilers, and multiple vendors' java
    implementations, to exclude implementation
    specific performance issues.

    Thomas

  168. balance by Anonymous Coward · · Score: 0

    Usually platforms like CATS or coruso get pushed back to the developers that really care about that arch while the majority of the work gets distributed to the general purpose developers.

  169. I disagree! by wikinerd · · Score: 1

    Porting to minor platforms is good because it allows them to compete more fairly against monopolies. Here is my blog post on this.

  170. Great article! by Fossilet · · Score: 0
    It makes me remind of the following article, though a little irrelevant:

    Please do not port software to Windows!

  171. A thought: by Anonymous Coward · · Score: 0

    Why don't open source projects just concentrate on producing something for one or two operating systems, and let the people who use and program for the non-mainstream operating systems write an emulator, much like Wine?

  172. Porting assures portability, clean code, future by Kvorg · · Score: 4, Insightful

    I am deeply convinced that porting assures portability, and portability is one aspect of clean code where bugs and wrong assumpsons are noticed, resolved and corrected.

    Surely porting to platforms such as the Alpha and UltraSparc was a very good basis for porting to platforms such as AMD-64. This is a crucial advantage for free software, where we can be sure that we will be able to support new platforms and make interesting platforms mainstream.

    On the other hand, the premisis that the main maintainers can not be responsible for all the porting effeorts is reasonable. Debian is thinking along the same lines, and for good reasons.

    I think it is wrong and bad to assume porting is a bad thing and avoid it. Even apparently futile projects such as porting free software for closed commercial platforms gives a large amount of flexibility in design and portability and helps projects such as embedded graphical environments.

    Portability is just one facet of advantages of free software and as such is a precios thing that we have to cultivate. But it sould be just another part of the free and open collaboration development process, not an obligations for the main developers.

    Just my 2 cents.

    --
    -Kvorg
    1. Re:Porting assures portability, clean code, future by gmack · · Score: 2, Interesting

      I too have found endian specific bugs in code I maintain. It's why I keep an Ultrasparc III in my closet for compile testing.

      I can easilly port between Linux and *BSD but the problem comes when users ask me to port my code to non Posix OS or claim to be Posix but really aren't Posix(win32). Or my latest peeve: sort of Posix but non ELF non GNU (OS X).

  173. Re:I hope he writes C better than he writes Englis by Anonymous Coward · · Score: 0

    You should go take a look. A good 30% of the code is written in pre-processor. It's like a bad episode of When Macros Attack!

  174. Multi platform support improves code by Bunyip+Redgum · · Score: 1

    One of the reasons " NetBSD does a surprisingly good job of keeping acceptable code quality while retaining support for many platforms" is that this forces them to write clean code with well defined interfaces.

  175. /. subtitle not well chosen by jschrod · · Score: 3, Insightful
    This should be from-the-guy-who-breaks-glibc-compatibility-with-e very-minor-release.

    Seriously, isn't this the same Ulrich Depper who can't even bother to get glibc right? glibc incompatibilities -- even in patch versions -- is a major headache on Linux. Compare that to those ``obsolete'' platforms like AIX and Solaris where I can still run binaries that I have compiled in the early 90s or even the 80s. glibc is one of the main reasons why Linux application deployment sucks in major (read: heterogenous) installations. Kernel differences are actually not as problematic, but glibc is biting ourselves all the day.

    He has shown already that he won't bother for people who run computing centers. Here's he, spouting more hobbiest opinions. Nothing new, move forward.

    --

    Joachim

    People don't write Manifestos any more -- what's going on in this world? [Frank Zappa]

    1. Re:/. subtitle not well chosen by bani · · Score: 2, Informative

      the movement from glibc2.2 to 2.3 was particularly painful. ugh.

    2. Re:/. subtitle not well chosen by medgooroo · · Score: 1

      gcc changing and making things fail to compile? just for kicks, try compiling some of the earlier kernels, and i wish you good luck. Old trees just dont compile.. on i386 never mind the obscure stuff. Standards? Feh, we've heard of them.

      --
      Brain(s): 0.0% user, 1.3% system, 0.1% nice, 98.6% idle
    3. Re:/. subtitle not well chosen by jschrod · · Score: 1
      Very good point. Missing backward compatibility is one of the disadvantages of many open source projects. Sometimes it's worth to pay for the advancement, but sometimes it's just because the developers don't try hard enough.

      Please note, I'm not condemning. Sometimes there are reasons. But with glibc, it has happened too often compared to other libc implementations. And this article raises the hypothesis if it's an attitude problem, and not a technical problem.

      --

      Joachim

      People don't write Manifestos any more -- what's going on in this world? [Frank Zappa]

    4. Re:/. subtitle not well chosen by synthespian · · Score: 4, Informative

      glibc is one of the main reasons why Linux application deployment sucks in major (read: heterogenous) installations.

      This is what Marc Espie, an OpenBSD developer said about Ulrich on O'Reilly's OnLamp (commenting the proactive measures OpenBSD takes in C programming vs. Ulrich's "Linux programmers are geniuses" view):

      "We have had a lot of success explaining the issues and getting a lot of people to switch from strcpy/strcat to strlcpy/strlcat.

      Weirdly enough, the Linux people are about the only major group of people that has constantly stayed deaf to these arguments. The chief opponent to strlcpy in glibc is most certainly Ulrich Drepper, who argues that good programmers don't need strlcpy, since they don't make mistakes while copying strings. This is a very mystifying point of view, since bugtraq daily proves that a lot of Linux and free software programmers are not that bright, and need all the help they can get.

      (Considering the shining, flaming personality of Drepper, and the fact that he is always Right, this is not that surprising, though)."

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    5. Re:/. subtitle not well chosen by drew · · Score: 1

      this was as much or more the fault of the kernel developers as it was of the gcc team. for a long time, the linux kernel (ab)used a lot of bugs and internal data structures in older versions of gcc, to the point that for some time, gcc 2.8 was the only compiler that could produce a working kernel. it was so bad that when gcc 2.95/gcc 3.0 were released, many linux distros packaged up gcc 2.8 as "kgcc" strictly for the purpose of compiling the kernel. after a while the kernel developers cleaned up their act, so that linux would compile with any decently standards conforming c compiler.

      i think in most cases, lack of backward compatibility in gcc means the old behavior was a bug or a non-standard extension. lack of backwards compatibility in glibc, on the other hand, usually seems to mean ulrich felt like changing something important, just for the hell of it. it's funny, i was just getting into linux when they were making the switch from libc to glibc (what a mess that was) and i thought part of the reason for the switch was to eliminate precisely the kind of problems that seem to happen with pretty much every minor glibc revision.

      --
      If I don't put anything here, will anyone recognize me anymore?
    6. Re:/. subtitle not well chosen by Anonymous Coward · · Score: 0
      it was so bad that when gcc 2.95/gcc 3.0 were released, many linux distros packaged up gcc 2.8 as "kgcc" strictly for the purpose of compiling the kernel. after a while the kernel developers cleaned up their act, so that linux would compile with any decently standards conforming c compiler.
      I thought the whole kgcc thing was because Red Hat started using the 3.0 CVS branch a year or two before gcc 3.0 was released and stable.

      As for using other compilers to compile the kernel: yeah, it's always used GCC-specifc syntax for inline assembly. What else do you expect it to use for this? There is no standard way to inline assembly in the way that GCC allows. For example the asm( code : out : in : clobber ) syntax, which is needed. Or certain pragmas/attributes to bit-align structs. Different compilers do different things to make up for the gaps in the C standards.
  176. OpenSSH by Anonymous Coward · · Score: 0

    Ah yes, the minority is considered harmful. Tyranny of the majority, or is the elite really calling all the shots?

    OpenSSH is one project where the coders won't fix a problem that's pointed out to them. Unless one is able and willing to produce a patch against the exact current software for four years in a row (therefore doing all the work for them), the problem will never be fixed. As the elite (or as they would like to call themselves, the "majority") would have it, those in the non-elite or "minority" who find the problems could just go to hell. The coders can't be bothered.

  177. Re:EMERGENCY: Boycott Indonesia by Anonymous Coward · · Score: 0

    This couldn't possibly be a case of payback time could it? Judges with a political axe to grind? As for boycotting Indonesia; I never did, and still do not, have any desire to ever visit that place. Does that constitute a boycott?

  178. Live today, eat money tomorrow by Anonymous Coward · · Score: 0

    Because the earth physically cannot support our continually buying and throwing away computer parts. There're more costs than monetary ones to computer parts. There's a finate quantity of resources to keep producing new motherboards and CPUs. Maintaining software support for older and exotic technology is actually the cheaper option.

    1. Re:Live today, eat money tomorrow by Grishnakh · · Score: 1

      There're more costs than monetary ones to computer parts.

      Yes, and one of those costs, a very large one in fact, is the cost of electricity. Older computers tend to not be very power-efficient, so you might just save yourself some money by buying a newer system, and also save some fuel from being consumed.

      As for the earth, a few slashdotters are not going to have a significant effect on the number of computer parts in landfills. I tend to think the effect of electronic trash is much less on the earth, overall, than other things that people are doing to it, such as air pollution (like from power generation), global warming gas production (some from power generation), cutting down rainforests to support ever-expanding populations, etc.

    2. Re:Live today, eat money tomorrow by Anonymous Coward · · Score: 0

      How long does it take for the efficiency of the new machine to save more than the energy required to fabricate and transport it?

    3. Re:Live today, eat money tomorrow by Grishnakh · · Score: 1

      That's pretty easy to figure out. That energy is all easily represented by the system's total cost, which also accounts for a healthy profit margin which we'll ignore because the end cost is more important to the end user.

      Find out what your current rate for electricity is, in dollars per kilowatt-hour. Then decide what kind of new system you're interested in, and find out what the average power consumption for it is (idling, not peak, of course). Find out what your current system's average power consumption is. Subtract to find the difference, and then using the cost of the hypothetical new system and your current electric rate, calculate the amount of time before your break-even point.

      This is simple high-school math, and I'm rather shocked you even had to ask.

    4. Re:Live today, eat money tomorrow by Anonymous Coward · · Score: 0

      I care about energy because of pollution and foreign policy implications, not cost. Energy is too cheap to make computer upgrades a net gain. Even if my old machine were to use 400 W on average and I leave it on around the clock, it'll consume 292 kWh/month, which only costs me 25 USD. If I manage to find a new machine that costs just 300 USD and uses just 200 W, it'll still take me two years to come out ahead (by which time even more efficient machines will surely be available). In practice, peak power consumption doesn't drop that dramatically (unless the extra performance lets me reduce the number of machines I have to run) and any APCI-enabled machine will average far less than peak power, so the savings could easily be less than the time value of the money you paid for the new machine.

  179. Re:Debian's more about leadership attitudes, I thi by filthy-raj · · Score: 1

    ... some obscure barely usable BSD lookalike base system with half working ports.

    Umm sorry, what?

    i) Ports (as in architectures):

    NetBSD has never put its name to an architecture it didn't fully support. This is probably because there is still integrity in BSD OSes - the name, BSD, actually means something, not like the vast multitude of splintered, disparate efforts (distros) that have homeopathically watered down the quality of the product. 3 BSD distros. 1 for performance, 1 for portability, 1 for security. These aren't virtues carefully pinpointed to selected user spectra by the marketing department of some company that continually puts business ahead of technology. Contrast with e.g. Xandros OS, RedHat, Mandrake or (although not directed by a big business) Scientific Linux. No, believe me, if you were referring to this definition of the term 'port', you can bet that NetBSD wouldn't brand as supported some architecture it would not fully stand by 100% in a grab for 'customers'.

    ii) Ports (as in software):

    If you have ever even used a BSD OS, the ports tree is nearly idiot-proof. Everything works in the most logical, clean and consistent manner out of any software distribution system I have ever seen. Not just me, but anyone else who uses a BSD OS be they programmers, admins, engineers, scientists, financial analysts, academics or security people would all agree.

    Alright now, BSD zealots, mod me into oblivion, but I've really been there.

    And here is where you are wrong again:

    iii) There really aren't any "BSD zealots". We're all resigned to the fact that slashdot doesn't give us the same air-play as any Linux news and that ignorant people give us the old "Netcraft confirms it". It really doesn't matter, we have more important stuff to do, and the superior tools to do it that we couldn't give a shit. Our stuff works, we don't need to defend it, we don't lock our users into any odd legal traps and our system is not encumbered with the unrealistic promises of some cult of hyper-caffeinated teenagers excited about Free Software.

  180. Re:Debian's more about leadership attitudes, I thi by gothfox · · Score: 1

    Umm sorry, what? i) Ports (as in architectures):

    Yes. The name implies existance of some base system which is somewhat similar between different BSD branches. Good if you want to make a router out of some toaster in case of NetBSD, nothing much of anything else.

    Debian on the other hand provides a truckload of packages which actually work on supposed architectures. This is a lot of work which grandparent so easily dismissed.

    If you have ever even used a BSD OS, the ports tree is nearly idiot-proof.

    Sorry, you are wrong or trolling. I am using and have used different branches of BSDs on servers, and QA of ports tree is nothing compared to Debian quality.

    It is somewhaot alike Debian's unstable branch and I'm actually being kind here.

    Everything works in the most logical, clean and consistent manner out of any software distribution system I have ever seen.

    Well, then you didn't see a lot, did you? I'm supporting, uh, some number of servers. Debian machines constantly give me less trouble, are updated more easily (keeping software installed from ports up-to-date tree is a nightmare, thank you very much).

    Installing software from ports tree is a breeze (when it is not broken, mkay). Supporting it in the long run is somewhat less of a breeze. Maintaing it so contents of /usr/local won't become a complete mess takes a lot of effort.

    Especially when you are supporting not exactly that one server in your parent's basement.

    iii) There really aren't any "BSD zealots".

    Yep. That's exactly why you have added this righteous paragraph about superiority of one platform over another. Insecurity? Zealotry? You name it. ;-)

    Look, BSDs have their strong points, e.g. making a router of a toaster is NetBSDs best job. Debian or other linux distributions have their weak and strong points too.

    For example, lack of coherent "base system" comes to mind, but it is more of a difference for some guy with BSD background, actual weakness is arguable here.

    And pretty please, don't try to label me as a Linux fanboy. Or Windows fanboy. Or whatever fanboy. I work with different unixes on a daily basis, Linux is just one of the tools to make the job done.

    I have entered this discussion only because of grandparent highly dismissive opinion about Debian project's efforts which was modded up to eleven, maybe by those zealots which you say don't exist, I don't know. I showed him another opinion, which was somewhat dismissive too. The truth, as usual, is somewhere in between.

  181. Things are fine as they are. by Stumbles · · Score: 1

    Well that Redhat guy can whine all he wants about that but it is one of the great aspects about Linux. I don't use any of the "non-mainstream" hardware but if I did, I would be concerned (somewhat) about this guys rant. Ok so maybe he does have a point there about lesser known hardware having more updates than say, the x86 platform. Big deal, so what? Maybe it's because the x86 platform code is pretty much up to snuf and the others are just catching up. So what or who gives this guy the right to instigate (it's what he's really doing) the dropping of non-mainstream support? He is certainly free to speak his mind but that mean he is right. Seems to me he is starting to suffer from the corporate mentality. Close off all that does not support them.

    --
    My karma is not a Chameleon.
  182. Red Hat Uber Alles... by argent · · Score: 1

    I mean, really, every time I've installed a new Linux box where it's mattered what version of Linux it is, it's HAD TO BE Red Hat. Not just that, it's HAD TO BE some particular version of Red Hat. And every version of Red Hat (or Fedora Core, or whatever it is these days now that Red Hat itself isn't free software any more) has required a new learning experience. Sometimes the installer hasn't worked because I was using "minority" hardware like Adaptec SCSI controllers and Red Hat only used Buslogic internally. Most recently, I have had to hover over a RHES install so I can whack the "reset to factory defaults" and "recalibrate" button on the flat panel displays we've been using in our equipment racks because their GUI installer starts up in some nice high-quality display mode that these LCDs don't *quite* support... so until I get to X11 configuration and reset to 1024x768x60 Hz every time they restart X11 the display freaks out.

    I mean, OK, 85 Hz looks better, and having the installer load drivers from the CD lets you make the installer kernel a little smaller, and RPM... no, don't get me started on all the different extensions to RPM and the contrast between the BSD ports system and the RPM scavenger hunt.

    It sure would be convenient for Red Hat if open source software people stopped supporting minority hardware (though there are more people running UNIX on Power PC desktops than any of the myriad x86 almost-compatible ones), minority operating systems (though this is the first time I've seen Windows described as a minority), and next I'm sure it'll be nice if they quit bothering about minority open source platforms like BSD and Darwin (even though there are more people running THOSE now), or minority versions of Linux like Gentoo and Slackware... and, hey, who needs Suse and Debian...

    And then this:

    Companies like Sun and HP have for far too long survived without providing a decent compiler in the default configuration since there was always gcc.

    I don't get this at all. GCC is not a bad compiler, but it's not great. It produces good code these days on x86, but native compilers produce better code on most platforms. That's why I've only ever installed GCC on Tru64 when I've had to for some particular program. And I've never had any difficulty writing code that ports between C compilers... I've got code that I wrote on the PDP-11 in the early '80s that compiles and runs on just about anything today.

    But then I don't use incompatible non-C extensions that were added to GCC and act as a Microsoftian "barrier to entry" to other compilers, like "a = b ?: c;". Oh, it's a perfectly logical extension to C, but only GCC accepts it.

    This article... change a few words around, and I can imagine it sitting on "Monoculture Central" -- Microsoft.COM. It's the same argument that commercial software developers have used for years to explain why they don't support Linux. Now a few of them are supporting Linux, but only Red Hat. If I want to support a software monoculture with a good UNIX environment, I sure wouldn't pick Red Hat as my monoculture of choice, not when both Apple and Microsoft give me one for free on their proprietary but well supported platforms.

    1. Re:Red Hat Uber Alles... by vsync64 · · Score: 1
      But then I don't use incompatible non-C extensions that were added to GCC and act as a Microsoftian "barrier to entry" to other compilers, like "a = b ?: c;". Oh, it's a perfectly logical extension to C, but only GCC accepts it.
      Hey argent, you should have checked ISO/IEC 9899:1999 6.5.15 before you shot your mouth off. Sadly, while the rest of your post is interesting, I have to discard it entirely and recommend that others do the same because I have no way of knowing that the facts haven't been similarly discarded in the other topics that you discuss.
      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    2. Re:Red Hat Uber Alles... by vsync64 · · Score: 1
      Oh wow. argent, I apologize. I didn't notice the missing middle term in your example conditional; I couldn't even fathom that such a thing was accepted anywhere. I just tried it and indeed it works in GCC ("-ansi -pedantic" generates a helpful "warning: ISO C forbids omitting the middle term of a ?: expression").

      I'm used to people railing against the conditional operator for no good reason, just like weak minds complain about fallthrough in "switch". But I misread your post and so I take back the comment about discarding facts etc. It seems that we're in violent agreement on the subject of cross-platform compatibility.

      Are there any good reasons not to compile with "-ansi -pedantic"?

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    3. Re:Red Hat Uber Alles... by argent · · Score: 1
      Hey argent, you should have checked ISO/IEC 9899:1999 6.5.15 before you shot your mouth off.

      6.5.15 Conditional operator

      Syntax
      • conditional-expression: logical-OR-expression
      • conditional-expression: logical-OR-expression ?expression :conditional-expression
      Constraints

      The first operand shall have scalar type.

      One of the following shall hold for the second and third operands:
      • both operands have arithmetic type
      • both operands have the same structure or union type
      • both operands have void type
      • both operands are pointers to qualified or unqualified versions of compatible types
      • one operand is a pointer and the other is a null pointer constant; or
      • one operand is a pointer to an object or incomplete type and the other is a pointer to a qualified or unqualified version of void.

      I don't see "one operand is MISSING" in there.
    4. Re:Red Hat Uber Alles... by argent · · Score: 1

      I apologize. I didn't notice the missing middle term in your example conditional; I couldn't even fathom that such a thing was accepted anywhere.

      Wow, well thanks. You know you can get drummed out of /. for apologizing?

      Yeh, the first time I saw that I was, well, pretty boggled.

      Are there any good reasons not to compile with "-ansi -pedantic"?

      Let's see.

      1. You're not using GCC.
      2. You're compiling with -ansi -pedantic-errors -Wall -Wdeclaration-after-statement.
      3. ...

  183. Surely Windows is more "mainstream"? by D.+Taylor · · Score: 1

    Whilst Red Hat surely want all open source developers to concentrate on Linux, lets
    not kid ourselves. Windows is more "mainstream" than Linux, so shouldn't all open source development be concentrating on Windows?

    Of course, you could recognise this for the load of crap that it is, and continue porting software to whatever OS you wish to use it in....

  184. Amazing by falemagn · · Score: 2, Insightful

    What amazes me is that he is in minority, in the OSS world. Am I mistaken, or is he the only one complaining so loudly and so veemently about such things? If he were part of the majority, surely the problem he talks about wouldn't even exist, as the majority would have adopted his line of thinking already.

    So he basically got into a paradox: he complains about the whining minority, yet he is the whining minority!

  185. Linux is a "minority platform", deal with it. by argent · · Score: 1

    So you talk to someone about 'x' FOSS app and you get "So what if you run 'x'? I run 'x' too on windows. Can you run my proprietary 'y' on linux?".

    That's a perfectly good argument. And one you're not going to counter by declaring that "we" (whoever "we" is) should quit supporting Windows. Because the argument that supporting "minor platforms" is a waste cuts both ways.

    That's also the argument that I've been given for using Linux rather than BSD, because there's more proprietary software available for Linux than BSD. And for that matter, using Red Hat rather than Gentoo or Debian, because Red Hat supported the proprietary software, or the proprietary software vendor only supported Red Hat.

    You can't have it both ways. If the added value of Red Hat is that it does a better job of supporting proprietary software, and supporting proprietary software is hurting FOSS, then Red Hat is hurting FOSS software by being an easy monoculture target for proprietary software.

    Meanwhile, I'll keep using my minority-platform BSD based minority-platform Mac with its minority-platform PPC processor that's got more free software than Windows and more commercial software than Linux.

  186. Don't forget Interix... by argent · · Score: 1

    The API differences on Windows are mostly handled by Cygwin and mingw.

    Or by Interix.

    Interix is the best sign so far that Open Source has won. Microsoft is shipping, for free, a UNIX subsystem based on Open Source software... including GCC... that provides an environment closer to standard UNIX than any UNIX emulation under Win32 can. Because it IS a subsystem.

    Let's repeat that. Microsoft is shipping a package specifically to let people run Open Source software better under Windows. Microsoft is shipping the "evil", "viral" GCC.

    "First they ignore you, then they laugh at you, then they fight you, then you win." -- Ghandi

    Open Source has won, people. Oh, you never win "for good", you can't stop just because you won, but... damn.

  187. Implications of dropping support for non-free oses by madou · · Score: 3, Insightful

    I have a real problem with attitudes like "we do not support non-free operating systems". Of course, software should be free IMHO. But dropping support for non-free platforms takes away the ability to use at least free application software from users who aren't in a position to decide which os they want to use, be it at work or due to limited technical skills.

    Even more important, this type of attitude (( flame me, but I'd call it bunker mentality )) harms collaboration between open source projects, and also between commercial software vendors and open source projects. (( if you don't know what I'm talking about, take a look at the copyright notices for g++'s STL headers ))

    To make the point clearer, let's take Ulrich's ideas a bit further. From a BSD purist's point of view, GPL licensed software does qualify as "non-free".

    What if e.g. the OpenSSH guys decided to drop support for non-free operating systems such as Linux, particularly commercial distributions like Redhat that include proprietary code?

    "Of course, you Linux guys may always maintain a separate tree that includes supports for those exotic systems."

    So we'd have X people who could be working on something way more useful, trying to keep a forked tree in sync with the original project. Great.

  188. Re:Debian's more about leadership attitudes, I thi by filthy-raj · · Score: 2, Informative

    All said dude, this discussion has actually presented quite an interesting contrast of opinion - heh, as so many do I guess ...

    Yep. That's exactly why you have added this righteous paragraph about superiority of one platform over another. Insecurity? Zealotry? You name it. ;-)

    Quite correct. To be perfectly honest, I was actually trying my best here not to prompt the 'zealot' label. Not saying you did call me a zealot directly, but I didn't call you a 'fanboy' either.

    Installing software from ports tree is a breeze (when it is not broken, mkay). Supporting it in the long run is somewhat less of a breeze. Maintaing it so contents of /usr/local won't become a complete mess takes a lot of effort. Especially when you are supporting not exactly that one server in your parent's basement.

    Here, though, I don't much agree. I use *BSD servers for all my customers - never had a single call out in 4 years mind you - and to keep systems' ports updated is nothing harder than a couple of (well, literally 2) expect scripts with some SSH smarts. Using cron to trigger at 1800 on the last Friday of each month, said expect scripts are executed from my office machine (ie: don't need to track changes to update scripts on each of my prod servers). All this leaves me to enjoy my weekends. None of my intervention is necessary. What I think you might not know about here is that most of this is already scripted for me. 'portupgrade' (located in /usr/ports/sysutils/portupgrade ;-)) is a collection of ruby scripts that is a level above 'make install', 'make deinstall', 'make reinstall', etc. The software does all the upgrade management for you. I mention this (in a long digression) because I'm not too sure if you're familiar with these specific tools. It has kept all of my 4 years worth of clients' servers with up to date software, using upgrade procedures I don't even think about or have needed to modify radically in years. Not to say this couldn't be done with apt, (yam, rpm, etc.) but I do say it is certainly possible with ports. And that I am not just scoffing away the latest upgrades in my parents' basement!

    Of course, we're adults and it's all up to you. It's been nice talkin' champ.

    Your friend,
    Raj

  189. Embrace the monoculture? by argent · · Score: 1

    But is it good for the market?

    Absolutely.

    Because portability doesn't just mean portability to "minority platforms", it means portability to newer and older versions of your own software as well.

    One of the reasons I use FreeBSD instead of Linux is because I can depend on FreeBSD being careful to avoid breaking things, and I can depend on Linux deliberately breaking things. And I can depend on Red Hat being in the forefront of the breakage.

    We're not talking about the difference between a Palm and a PC here, we're talking about the difference between systems that are all using the same basic API with the same basic display and hardware. Even the difference between Windows and Linux pales by comparison with the difference between the platforms I started working with.

    If the small amount of care that's required for portability between different versions of UNIX is too much work, then we might as well give up and embrace the monoculture and switch to Windows today.

  190. What was actually said, Minorities MUST help by omb · · Score: 3, Insightful

    If you read what was actually said, most replies
    make no sense; to paraphrase:

    Mainstream developers, using common architectures,
    which will change over time, should not hold
    themselves hostage to proprietary, minority or
    legacy platforms ... and lack of platform access
    makes this impractical in any event.

    This makes complete sense, if, as is actually the
    case HP, IBM & SUN have, by incompetance or greed,
    placed themselves in a position where their
    platform _depends_ on GNU tools they need to spend
    some support revenue on the tool-chain, and
    provide gratis platform access. This is how it
    used to be before Red Hat bought Cygnus.

    Finally, no one is going to deprive legacy
    platforms, they have to do work, pay or resign
    themselves to a feature freeze.

    1. Re:What was actually said, Minorities MUST help by dvdeug · · Score: 1

      Finally, no one is going to deprive legacy
      platforms, they have to do work, pay or resign
      themselves to a feature freeze.


      Which is why IBM pays someone to work on AIX in GCC, and do other generic GCC work.

  191. open source for all ! by chrisranjana.com · · Score: 0

    Actually open source should be for all !

    --
    Chris ,
    Php Programmers.
  192. Amateurism != correctness!!! by Anonymous Coward · · Score: 0

    What, and what some codemonkey inside of freakin' RedHat says is supposed to be "right"?

    - it is NOT our fault their code is *CRAP*.
    - it is NOT our fault their code is developed on a POS OS made by amateurs for amateurs -- Linux
    - it is NOT our fault that they're too lazy to fix the bugs and that they don't HAVE ENOUGH KNOWLEDGE to write BETTER CODE on PROFESSIONAL PLATFORMS.

    His arguments is a pure excuse! Another FREAKIN' AMATEUR POSING AS A PROFESSIONAL.

    I'm so sick of these actors. That's why professional system engineers have to work overtime, cleaning up after somebody else's mess.

    Damn amateurs.

  193. Seconded! by argent · · Score: 1

    I call BULLSHIT!

    Seconded!

    My first job, ever, was porting software from one version of COBOL to another. I was working for the company who'd written both COBOL compilers, and manufactured the hardware both ran on, and both operating systems, and there was only one section (a check digit routine) that wasn't simply a matter of the original code depending on some laxness in the original compiler and simply cleaning up the code fixed all the problems. One routine needed to be rewritten, the rest were already bugs in the original code.

    And this was in an environment where the differences between the operating systems were so radical that they made Linux and Windows look like twins.

    This has been my experience ever since then, no matter what the language, no matter what the hardware. Most portability problems are bugs that haven't been found yet. My first C porting nightmare was porting my own code from the PDP-11 to the VAX and discovering that (long) wasn't always longer than (int). Porting Elm to Xenix-286 was mostly a matter of finding all the places the authors had forgotten that integers weren't always 32 bits wide.

  194. Ports improve quality by david.emery · · Score: 1

    As others have pointed out, my experience also supports that porting finds subtle bugs, undocumented assumptions and generally is a -great way- to improve product quality.

    Besides, as the long-time user of minority platforms, Open Source has been part of the antidote to the computing monoculture of incompetence that wafts from Seattle Suburbs...

    dave

  195. Portable toolkits... by argent · · Score: 1

    Also, unless you use things like cygwin, your app which compiles and runs on multiple unixes quite happily will require extensive modification to run on windows, the graphical interface especially is very different from X11.

    That's why I write so much code in Tcl/Tk, because the same code runs the same way on every platform. When you write code for Windows that uses Cygwin, you're doing the same thing... but at a lower level.

    You could probably eliminate most of the problems with locked files and case sensitivity by porting to Interix instead of Cygwin. Microsoft's actually trying to make it easy for open source software to run on Windows without modifying it for Windows. They're actually reducing the amount of Windows-dependency yu have to add to your application... why not take advantage of it?

  196. Re:EMERGENCY: Boycott Indonesia by grub · · Score: 1


    Don't be too harsh on him. He probably just read some dated Chomsky material in his dorm room. ;)

    --
    Trolling is a art,
  197. There's a snappier way of saying it by taobill · · Score: 1
    Dictatorship of Minorities

    More snappily we would say "tail wagging the dog".

  198. Sod off by Anonymous Coward · · Score: 0

    Ulrich Drepper posted a blog entry titled "Dictatorship of Minorities". He argues that open source projects' attempts to support non-mainstream (read "non-Linux") operating systems slow down development and testing.

    And its a piss poor argument. If the people at RootHat were better coders, they would start off writing portable code, the bug complaints would be less.

    Wonder how he'd feel if code existed which was under patent protection and featured a license that said 'BSD Licensed for all platforms EXCEPT Linux as the ever changing Linux environment is hard to support'? Would he be saying "Oh, that is cool and not harmfull."?

    Ulrich Drepper may want a world with just one Operating System environment - but how is that different than what Bill Gates wants? Oh, yea. Ulrich Drepper 'wants that one environment to be Linux' so that makes his wants OK.

    *mumbles about how when one fights evil, one should be careful not to become that very evil you fought*

  199. No, Ulrich has a point by IamTheRealMike · · Score: 3, Interesting
    Wow, it's not often I find myself defending Ulrich Drepper of all people, but I do think there's a huge misconception here.

    People seem to be repeating a lot of "folk wisdom" about portability. Oh it's just bugs. Make your damn software clean you damn coder. Etc.

    I can guarantee you that anybody who says this has never actually read the sources to glibc, binutils or gcc. Hell, they probably never even read the mailing lists! I have, and when Ulrich says an enormous amount of effort goes on supporting minority platforms he is totally correct. Hello, binutils isn't the GIMP people! Other platforms have totally different architectures and often need huge amounts of platform specific code from these projects. This isn't a case of sloppy coding, it's a case of massive amounts of work being done to support edge cases. Go read the sources to bfd sometimes. Adding support for one platform that uses different assumptions about basic things like memory layout can require huge reworkings of the code.

    Essentially there are a lot of people spouting off here based on their experiences of compiling FooApp on FreeBSD or whatever. Have you written a C library? A threading library? No ... then you are probably not really qualified to judge how much work this generates for Ulrich.

    Oh, and for the guy later on in this thread who says "AIX is not a minority platform, WTF?" - I say to him WTF. AIX most definitely is a minority platform. Maybe not in the world he lives in, but in the real world Windows is dominant, sometimes people think about Linux/Mac or even FreeBSD and everything else barely registers at all unless you administer high end servers or work on embedded software (most people do not).

    I've been bitten by this mentality before. Back when exec-shield was first developed, it broke Wine (which I work on). So I set out developing a fix. Eventually, I wrote a GNU linker script that arranged virtual memory such that things would work correctly even when exec-shield was active. But it didn't work, because of a simple bug in the kernel. No problem, right? Just fix the bug, right? Well, actually, somebody did. A patch was written, submitted, got into Andrew Mortons tree ... and it didn't compile on Itanium. The original author didn't have access to such a machine, neither did I, and the person who reported the failure (who worked for Intel, IIRC) was overloaded with other work and couldn't fix it. So the patch was dropped.

    In the end, a few months later, we had a different solution that was about a million times more complicated. Largely because a simple bugfix patch didn't compile for unspecified reasons on a platform nobody uses and this was grounds for it to be dropped. That mentality of "all computers are born equal" is why Debian has become a laughing stock and it cuts both ways.

    1. Re:No, Ulrich has a point by synthespian · · Score: 1

      Your argument is highly flawed, it's not even logical. Furthermore, it's been proved wrong in real life. Here's why:
      1) Sure, GCC, and system-programming stuff is very platform specific. OTOH, we already have GCC for a whole buch of "minority platforms". Are you suggesting to just drop this ?! GCC isn't used used only in the RedHat corporate environment only, you know? Need I remind you of other uses, like scientific applications?

      2) So, if systems-programming tools are by nature very specific, I guess you would have to agree the userland apps need not be. So, this means: write clean, portable code. I guess this means that you can provide interoperability between different flavors of Unix if you're not lazy. The problem I have with my OpenBSD box is that every now and then I have problems with software written for Linux, just out of ignorance. So I keep a Debian box around to get things done. Even the original GNU software FSF claims makes "GNU/Linux" is highly portable. So all Ulrich-derived arguments and their offsprings are non-sequiturs.

      3) And real life disproves you: all BSDs have written a Linux Binary compatibility layer that maps glibc onto their c libraries. Even the original GNU software FSF claims makes "GNU/Linux" is highly pottable. So all Ulrich-derived arguments and their offsprings are non-sequiturs.

      What Ulrich should be really worried about is why is it that independent software vendors suffer from package-building hell, and what's RedHat gonna do about the LSB and the Open Group working teams for interoperability.

      The only thing I agree with him is that support for proprietary systems should be dropped. They should be left on their own.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    2. Re:No, Ulrich has a point by doctormetal · · Score: 1
      Sure, GCC, and system-programming stuff is very platform specific. OTOH, we already have GCC for a whole buch of "minority platforms". Are you suggesting to just drop this ?!

      This is exactly what is being done. Obsolete platforms are removed from gcc in every release.
    3. Re:No, Ulrich has a point by IamTheRealMike · · Score: 1
      Stating that the argument is flawed doesn't make it so, no matter how much Latin you through around.

      GCC exists for minority platforms and this is fine, what Ulrich has a problem with is people insisting that they be supported at the cost of other platforms with more users. In this case "support" means "a patch which breaks FoobarIx gets backed out". This clearly isn't so fine. And yes GCC drops support for architectures and older modes frequently (you can always use old versions after all).

      I don't know what your second point is on about. Ulrich Drepper works on systems programming tools, not "userland apps" (whatever you define them to be). He never said the GIMP shouldn't compile on OpenBSD, he said that the pain of supporting complex low level code like glibc on PA-RISC wasn't worth it (and he is probably right). So talking about non-systems level code isn't relevant here.

      Your third point is equally mystifying - you say it "disproves me" without saying exactly what I was trying to prove in the first place. I never said anything about BSD emulation layers (which usually emulate syscalls not C libraries, by the way ...).

  200. Regarding bits and endianness.. by Kjella · · Score: 1

    For the same reason Ulrich Drepper is wrong. An Ultra 1 is super cheap, now, and it gives a programmer the chance to test code on a big-endian 64-bit architecture. Are there lines of code with endian dependencies? Are there lines of code that assume 32-bit CPUs?

    Are there any easy tools to do CPU emulation for something like that? I realized it'd probably be damn slow (you'd have to reverse the endianness of everything, do 64bit ops on a 32bit machine), but just so for testing?

    --
    Live today, because you never know what tomorrow brings
    1. Re:Regarding bits and endianness.. by Anonymous Coward · · Score: 0

      the only problem with emulators is stuff always gets left out of them...

    2. Re:Regarding bits and endianness.. by gabebear · · Score: 1

      I believe you are looking for QEMU, but as the last poster pointed out it isn't 100% perfect(although it is quite good). Depending on how you use QEMU it can be quite fast, however nothing is going to beat testing on real hardware.

    3. Re:Regarding bits and endianness.. by RevDobbs · · Score: 1
      Are there any easy tools to do CPU emulation for something like that?

      You want to test your software on software pretending to be hardware?

      How would you like your dentist to work on your mouth by only looking at xrays?

      Emulators are neat for videogames. When code starts throwing off errors that you're having a hard time grokking, you really want to be able to eliminate the enviornment as a variable.

  201. Is Ulrich a Nazi? An AIX-rien Linux? by Anonymous Coward · · Score: 0

    >If preserving the rights/benefits of the minority >becomes to high for the majority, the losses must >be cut

    Yes, off to the code-cremetoria AIX

    >Free software should only support free OSes and >even among those the group needs to be trimmed >significantly (ideally to one).

    I guess Linux is turning into a racially pure blond haired OS, huh? I am guessing that the Jew Bill Gates is running a cabal to control all computers, huh?

    I guess I wouldn't be as upset if Ulrich Drepper wasn't a German spouting this type of garbage.

  202. How exactly can that be true? by Kjella · · Score: 1

    By avoiding platform specific libraries and techniques I write better code.

    You have libraries to choose from, good and bad. By restricting yourself to only the cross-platform ones, how can that subset be any better? Same with coding techniques. How can a subset of techniques be better? Yes, you write easily portable code, but the reasoning is circular: It is good to port software because it helps you build portable code so you can port software.

    Certainly, with time spent porting you will find bugs. But you probably would have found more if you spent the same time reviewing the code. That is really the crux of it. For commercial software, it costs money with relatively little gain. For OSS software, it is extremely boring. Porting it may be a means to indirectly find and fix bugs without actually making the activity bug hunting, that is all.

    Kjella

    --
    Live today, because you never know what tomorrow brings
  203. Re:Debian's more about leadership attitudes, I thi by synthespian · · Score: 1

    I've never heard of Debian guys hacking on TCP stack, SSH, or creating somethiong like CARP to subsitute Cisco routers, or BSD sockets. Debian has thousands of so called developers.

    --
    Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  204. Re:Debian's more about leadership attitudes, I thi by synthespian · · Score: 1

    I didn't to a search on them but I've never heard of Debian guys hacking on TCP stack, OpenSSH (*), or creating something like CARP to subsitute Cisco routers, or BSD sockets. Debian has thousands of so called developers.

    (*) Question is, did you write the original code and start the original project?

    --
    Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  205. Windows? I didn't get any "free" copies. by argent · · Score: 1

    Unless you're one of those rare folks who jumped through the hoops required to return the license of windows that came with your computer.

    Here's my computers and the operating systems that came with them:
    Apple II, AppleDOS.
    Atari 800, AtariDOS.
    Tandy model 2000, MS-DOS 2.11.
    Amiga 1000, AmigaDOS.
    Amiga 3000, AmigaDOS.
    Clone, System V/386.
    Macintosh, Finder 4.something.
    Compaq Deskpro, MS-DOS 3.something.
    Amiga 1200, AmigaDOS.
    Generic clone, used, no operating system (or even hard disk).
    Biostar U8068 motherboard, no operating system.
    Biostar U8668 motherboard, no operating system.
    Powermac 7200, Mac OS 8.1
    Powermac 7600, Mac OS 8.6
    ASUS Motherboard (upgrade), no operating system.
    Powermac G3, Mac OS 9.0
    ASUS Motherboard (upgrade), no operating system.
    Powermac G3, no OS or hard drive.
    Mac Mini, Mac OS X 10.3

    I do have a Windows laptop provided by work, and I've done some development on that, but I didn't get the copies of Windows on our "game" machines for "free" with the computer.

    Use cygwin

    No thanks, Interix works better.

    1. Re:Windows? I didn't get any "free" copies. by justins · · Score: 1
      I do have a Windows laptop provided by work, and I've done some development on that, but I didn't get the copies of Windows on our "game" machines for "free" with the computer.

      Believe it or not, your use of "quotes" here inhibits whatever sort of "point" you were trying to make.

      Interesting that you list computer systems and motherboards in the same list, as if they were the same thing.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    2. Re:Windows? I didn't get any "free" copies. by argent · · Score: 1

      Believe it or not, your use of "quotes" here inhibits whatever sort of "point" you were trying to make.

      Why? What point are you trying to make? That calling a Windows box a "game system" if you use it to play games on is unreasonable? That the copy of XP Home that comes with a $400 PC is really free, and not just bundled?

      Interesting that you list computer systems and motherboards in the same list

      That's because I've only bought two Intel-based computers as systems. The rest were bought in pieces. You want me to expand that to "Biostar U8068 + $20 case/power supply + ...", and break out the whole thing?

      The point is that your statement that "Unless you're one of those rare folks who jumped through the hoops required to return the license of windows that came with your computer... you've got it." is bullshit. Out of the 6 intel boxes in that list, only two of those run Windows and only run Windows because other members of the family wanted to play Halflife and Everquest. The machines I personally own and use, including 3 of the Intel-based boxes in that list, don't have a single copy of Windows between them.

    3. Re:Windows? I didn't get any "free" copies. by justins · · Score: 1
      The machines I personally own and use, including 3 of the Intel-based boxes in that list, don't have a single copy of Windows between them.

      You're an outlier and a freak. Which is fine, really, but don't act as if 99.9% of the computer users out there don't have easy access to a copy of windows...

      Why? What point are you trying to make? That calling a Windows box a "game system" if you use it to play games on is unreasonable? That the copy of XP Home that comes with a $400 PC is really free, and not just bundled?

      The "point" I was "trying" to "make" had to do with the English "language" and the "abuse" thereof.

      That's because I've only bought two Intel-based computers as systems. The rest were bought in pieces. You want me to expand that to "Biostar U8068 + $20 case/power supply + ...", and break out the whole thing?

      Actually, I don't care what you do. It just cracks me up that you obsessive-compulsively spent so many words trying to say something very simple, "some people build their own systems and don't have a copy of windows." (There, that was a more or less correct use of quotes. You're welcome.)

      Of course, if you had simply said that instead of obfuscating the issue with your absurd list, it would have been immediately apparent that "some people" (oooh, another correct use of quotes! you're learning, aren't you?) refers to a tiny little fraction of the user population, and so the point you were trying to make was pretty weak.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    4. Re:Windows? I didn't get any "free" copies. by argent · · Score: 1

      You're an outlier and a freak.

      You're talking to open source software developers here, not "99% of the computer users out there". Open frigging source developers! These are people who write computer programs for fun. They're not just outliers, it's the fact that they are outliers is what makes them important.

      So what 99% of computer users do is irrelevant. Get that through your skull, because asking a bunch of people who really do buy computers without Windows, for whom not running Windows is an advantage, to write software for Windows and then telling them to use "the copy of Windows they got with their computer" after they've told you they don't have one is not going to help you sell your point at all.

      Because this "tiny little fraction" of the user population is the "tiny little fraction" that's in a position to help you. You need the "outliers and freaks". It's the "outliers and freaks" who don't need you.

      Actually, I don't care what you do.

      Yes you do. You care whether I port my open source software to Windows, or you wouldn't be in this discussion. You care whether I agree with your idea of the "correct" use of quotes (yes, that's a correct use of quotes). You care enough about what I do to keep coming back or you wouldn't be here.

  206. Re:I hope he writes C better than he writes Englis by colinrichardday · · Score: 1

    Perhaps he meant users of a certain API?

  207. Re:I hope he writes C better than he writes Englis by colinrichardday · · Score: 1

    Compilers are much greater "grammar nazis" than any human. Are they even more pathetic?

  208. Mainstream Platform? by Mystic0 · · Score: 1

    Since Win32 is "more mainstream" than GNU / Linux, lets just drop support for the latter in favor of the former....

    I don't think this guy gets it. The developers write a program for a particular platform because they feel like it. If they don't want to support a certain platform, well, then they won't: as free software developers, they aren't obligated to.

  209. aix by asciiRider · · Score: 1

    AIX might not be important in your bedroom, but it is really important at the hospital I work at - it was a big part of the 200 million dollar investment they made to move to an electronic patient record.

  210. Linux-chauvinism as bad as Windows-chauvinism by ishmalius · · Score: 1
    I have been seeing this more and more often from opinioniated people, whose opinions seem to come cheaply. More and more, they posit the idea that open source efforts need to be more focused on what the "big guys" want, and all work should be concentrated on the platforms and projects that end-users want. Variety is bad, and innovation is scary. Pluralism is fascism.

    This guy seems to think that Open Source guys should only work to support the platform. Unless your project is explicitly tasked to support the platform, then this couldn't be farther from the truth. The goal of almost every Open Source project is the project itself. Whether it is a program, dataset, compilation, whatever..... People have an idea, and they work toward fostering that idea. Not only does the platform not matter, but the more platforms on which the idea can be delivered, the better.

    Maintaining a focus entirely on Linux x86 is as moronic as staying forever in WindowsLand.

    1. Re:Linux-chauvinism as bad as Windows-chauvinism by argent · · Score: 1

      This guy seems to think that Open Source guys should only work to support the platform.

      That's a really interesting way to put it because it reminds me of all the horrible things that Microsoft has done to themselves (let alone other people) by making everything they do part of "Windows Everywhere".

      Point: The Pocket PC is crippled more because it's been turned into a kind of annex to a "real computer" running Windows, than because it's based on Windows. The "Windows Powered" handheld today is at least comparable to almost all personal deskt computers of the '90s, yet each release has been less versatile and more restricted. Forget about whether Microsoft's going to have a "tabbed browser", Pocket IE won't even let you switch between two windows! All in the name of trying to compete with PalmOS (which is roughly as sophisticated as the original Mac OS) without competing with Windows laptops.

      Point: One reason given for the delays in Longhorn is XP SP2, which took up so many of Microsoft's resources for so long. But if they hadn't integrated the browser and the desktop to make Windows into an "internet platform" then a huge part of the work they put into SP2 wouldn't have been necessary, because Windows wouldn't be such a happy environment for viruses in the first place.

      So even if you ignore everything they do to everyone else, making "Windows Everywhere" a primary goal has crippled Microsoft themselves.

  211. Re:Debian's more about leadership attitudes, I thi by synthespian · · Score: 1

    There really aren't any "BSD zealots". We're all resigned to the fact that slashdot doesn't give us the same air-play as any Linux news (...) Our stuff works, we don't need to defend it

    Exactly. And let me explain myself here: my comment was about the majority of Debian developers. This is not to say that Debian isn't a good distro. But they need to get their act together.
    What angers me is people using the "so many platforms" excuse for the mishandling and mismanagement of Debian, because you look at any BSD project, and you see a lot more systems programming (and done right!) than in Debian.
    These are the facts.
    And BSD people know this. That is why you don't hear much about BSD. They don't care to advertise much, while Linux gets all the hype, because of the huge corporate backing. They also get a lot more of kernel exploits per year. Why management doesn't see this says a lot about management.
    Debian, OTOH, is allowed to get away with ridiculous excuses. Once upon a time we, 3 guys and me, started a local Debian LUG. One of them was a Debian developer. To this day, I can't get over the moronic things this guy used to say. He couldn't even program a linked list in C, but his ego was so big you had to get out of the room.

    --
    Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  212. FYI by argent · · Score: 1

    In the interest of promoting a good idea I hadn't seen explained in detail before, "strlcpy and strlcat - consistent, safe, string copy and concatenation".

  213. Yes by hawk · · Score: 1

    At that point, it has everything you need except a good editor.

    hawk, noting that *someone* had to say it :)

  214. You're not talking about Linux. by argent · · Score: 1

    The average buyer doesn't want a distribution, they want a complete operating system.

    That's one reason I prefer FreeBSD. It's a complete operating system. KDE and Gnome run on it, too.

    another project has to be started that creates a complete and pure Linux operating system that is a "total experience and environment" rather than a collection of packages.

    That would be FreeBSD again.

  215. The Irony of Freedom by BlackStar · · Score: 1
    I find it kind of hard to understand how the idea of Open Source, which is use it and adjust it as you will, is around the free flow of information, ideas and implementation. It appears that the process of patch, port and publish is broken, and yet Mr. Drepper takes issue with which platforms he feels are "worthy". He OK'd PPC, x86, and even ARM, but drops other microcontroller and microprocessors like the M68K, PA-RISC, etc.

    So basically, while Red Hat and others have often vaunted the idea that Open Source can save you from your vendor if they orphan your machine (hmm... PA-RISC looks like it fits, as does M68K), now Ulrich says that those cause too many problems and shouldn't even be supported. So we'll be open and free and without proprietary hardware allegiences as long as we like the platforms.

    The sad part is he uses the GCC model and sequence as one of the talking points, and that team and process was so badly flawed and restrictive that it has forked a number of times over the years to varying degrees. Which I think is good, as it was groups of developers trying to move forward in various ways when the process broke.

    I'd venture here that in some cases, IF the main development team is OK with supporting as a tier-1 platform a new architecture or operating system, then by all means let them do so, and if that puts a few bumps in the road, that development community has to judge if the additional time, effort and coordination is worth it. Otherwise, there are a number of secondary-platform models as well. OS X has fink which has some dedicated crews modifying the trees with compliant (usually) patches that get things working on OS X and Darwin. At one point, the GNU tools didn't work on Linux well, only Solaris/SunOS and other variants.

    Let the developers allocate their time where they want to. If Ulrich thinks it's wasting his time, then don't contribute to those projects if the majority of the developers think it's worthwhile.

    Then the rant of his attacks Sun and says it should be dropped due to proprietary considerations. Except that the world changed when he was buried in Linux, and Solaris is open source, the chip itself is to an open specification (not so with Intel chips OR bios). The GCC platform spawned on those machines, and with Sun catering to educational institutes, his compiler wouldn't be here either, as it would probably be evolving at the speed of Hurd.

    Unfortunately for him, I'm not one of the violent minorities, but then any generalization will miss a few. I use Windows, Linux, Mac OS X, and even a bit of Solaris here and there. Each platform has strengths and weaknesses. Save us from the tyranny of the plain, simple vanilla majority that would paint the world a non-offensive and uniform beige.

    1. Re:The Irony of Freedom by josepha48 · · Score: 1
      That's when you switch to NetBSD. LOL It will run on your M68k or PA-RISK.

      To some extent porting to multiple arch is difficult. I've done some porting. It can take time, especially if an arch is broken, or specs are not open.

      I guess I could see someone saying we will release on platform x and then port to the other platforms, later.

      Part of open source is the whole thing that the source is there. If it does not work the way you want it to then fix it!

      --

      Only 'flamers' flame!
      Does slashdot hate my posts?

  216. GCJ by Anonymous Coward · · Score: 0

    Obvious this is what GCJ is for, a *free* Java implementation

  217. Headline is inaccurate by Anonymous Coward · · Score: 0

    It should have read Porting Drepper's Monolithic, hacked, unportable glibc considered harmful

  218. Big big BIG ditto by devphil · · Score: 2, Informative


    All of what dvdeug says here is true. I've done more than watch the list, I'm a maintainer, and David Edelsohn (an IBM employee) has always been willing to work with the GCC community. He even pushes the IBM developers and management to make each release of AIX slightly less bizzare than the previous release. Ulrich simply insults you if you disagree with him. He does not participate on the GCC lists; when he does send a message, it's a flame. I've never seen an explanatory email from him, on any topic.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  219. Not needed. by devphil · · Score: 1


    At least, most of the time.

    Your argument holds only as long as you ignore cross-compilers... which by a useful coincidence happens to be the major strong point of the project being discussed. :-)

    We require that patches which might affect a particular platform be tested by building a cross-compiler for that platform, and then running regressions tests. Some tests are looking at the generated assembly, some of them try to "run" the code if you have a simulator installed.

    It's rather rare that the code needs to be executed on actual hardware to expose a bug in a proposed patch.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
    1. Re:Not needed. by Markus+Registrada · · Score: 1
      It's rather rare that the code needs to be executed on actual hardware to expose a bug in a proposed patch.

      And when off-target testing does expose a problem (not necessarily a bug) in the proposed patch? Should it just be rejected? How is the patch author expected to know enough to fix it? In the essay he points to IBM, with depressing frequency, getting already- accepted patches backed out because they broke something (or even just caused existing breakage to be revealed) in an on-target only test.

      I'm all for making it easier for people who have put in the time figuring out how to fix something to get that fix in. I'm all for expecting people who actually care about things that break in obscure targets to fix them. Pride is enough to get me to write reasonably portable code, but it's not enough to get me to study AIX specific object-code debug annotation formats.

      There are people who are paid to know that stuff. They should be earning their keep.

    2. Re:Not needed. by devphil · · Score: 1


      And when off-target testing does expose a problem (not necessarily a bug) in the proposed patch?

      Then it's brought up on the list and discussed. They're handled on a case-by-case basis. If we need access to the hardware in question, we ask for it. (Usually the person reporting the on-target problem has already volunteered.)

      --
      You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  220. He has a point ..... by ajs318 · · Score: 1

    Cygwin, MinGW et al are harmful to the cause of Open Source in the same way that textured vegetable protein "burgers" are harmful to the cause of vegetarianism. Making TVP actually is less efficient in terms of land and energy usage than traditional m**t farming, yet vegetarians -- and probably the ones that eat TVP -- incessantly trumpet the notion that vegetarianism is "more efficient".

    If we go out of our way to make Open Source software available on closed platforms, then we are making a rod for our own backs. Open Source applications on Open Source operating systems must come first. We can tempt people to switch with our own coolness. It's not worth delaying the Linux release of foo because some feature doesn't work in the Windows version.

    Well-written software should compile on any properly-specified architecture. On the flipside, software which will not compile on certain architectures may be badly-written. {Not every program need be fully portable -- if it makes use of specific hardware features, for instance, portability is quite unnecessary.} Alternatively, the architecture may be improperly-specified .....

    --
    Je fume. Tu fumes. Nous fûmes!
    1. Re:He has a point ..... by argent · · Score: 1

      It's not worth delaying the Linux release of foo because some feature doesn't work in the Windows version.

      What about a situation like Firefox where without the Windows version it probably wouldn't exist? Or maybe you think it'd be better if Firefox didn't exist? I could see a case for that, actually, though it is one of the examples Ulrich uses.

  221. Regression testing made easy by abelikoff · · Score: 1
    So, everybody who fixes something that (incidentally) affects emission of debug annotations in Gcc has to learn all the idiot formats used in AIX, Solaris, Tru64, PE, and what-have-you just because FSF happens to have those machines?

    That's what regression testing is for. It is not unreasonable for any large system to contain a constantly growing testsuite that tests core features of the system. In fact, GCC does have a testsuite, although I don't know how versatile it is. For a compiler suite a reasonable testsuite would contain programs of varying complexity in the source language as well as object files for each valid combination of optimization/feature level and a platform (not a very difficult thing to produce).

    The testsuite would then handle each such program in the following manner:

    • Compile it using a given optimization/feature level
    • Perform a binary diff against the "canonical" object code. Maybe do the same thing for aseembly outputs. Fail if outputs differ.
    • Link a program, run it, and compare result to the expected one.

    The only challenging part of this process is to "seed" the testsuite with canonical object files: someone would have to either trust a stable compiler version or to proof-read each .o/.s file. After that, all discrepancies would be considered failures by default. If the new compiler version produces different object code, it has to be either explained (and incorporated into the testsuite) or the compiler has to be fixed.

    Combine the above with a distributed build system (like Tinderbox or CruiseControl) and you've got an automated regression testing system. After that, every applied patch would have to go through this ordeal to ensure that it doesn't break the compiler.

    1. Re:Regression testing made easy by Markus+Registrada · · Score: 1
      ...an automated regression testing system. After that, every applied patch would have to go through this ordeal to ensure that it doesn't break the compiler.

      In other words, something on AIX breaks, and my patch gets rejected. I don't know how to work around some sucky AIX bug, and don't have time to learn. My patch fixed a real bug, maybe even on all platforms. It gets dropped on the floor just because IBM hasn't been obliged to maintain their own damn port.

    2. Re:Regression testing made easy by abelikoff · · Score: 1
      In other words, something on AIX breaks, and my patch gets rejected. I don't know how to work around some sucky AIX bug, and don't have time to learn. My patch fixed a real bug, maybe even on all platforms. It gets dropped on the floor just because IBM hasn't been obliged to maintain their own damn port.

      Exactly! Sorry if it sounds harsh but that's the only way to ensure non-deteriorating quality of the product. It worked before. now with your patch it doesn't - ergo, your patch broke it. You may think that your patch fixed a really important problem, but from the point of view of some guy in Romania using GCC on C64, the new version broke things. Regression testing approach eliminates the source of ambiguity about whose fix is more important and whose bug is "buggier."

      Note however, that I didn't delve into the mechanics of fixing such newly introduced bugs. This is something that can be improved. For example, if you produce a fix for one bug and it breaks Ultrix, there should be some way to talk to someone involved into Ultrix port to get some help with fixing the issue. If there's no one involved, there should be at least some company sponsoring the architecture. If there's no such company, then the port should be announced as unsupported and heading toward obsoletion.

      I realize that it is easier said then done but having a reasonable process to handle such issues is much better in my opinion than ad-hoc rejection of support just because the target audience is smaller compared to Linux.

    3. Re:Regression testing made easy by Markus+Registrada · · Score: 1
      It worked before. now with your patch it doesn't - ergo, your patch broke it.

      Let's get this straight. There was no test for the bug my patch fixes, but it used to work, and then you broke it, on all platforms. Somebody reports the bug, and even adds a test case to prove it. I fix the bug, and send a patch. This patch makes the new test pass on all platforms. But because it fails some older (maybe proprietary) test on one target, none of the other platforms get the fix.

      That's what is meant by "holding hostage". It doesn't ensure non-deteriorating quality. It just ensures that for new bugs and regressions (what we call "deteriorating quality") where there was no test already in place, the fixes are discriminated against.

      Petrovsk got that bug the same time I did, and probably lots more of the same sort. He wants them all fixed just as much as I do. Rejecting fixes for all those bugs (or making it too hard for them to be fixed) doesn't do him any good. What would do him some good would be for the porting team for his platform to do their job and fix the platform-specific bugs they're uniquely qualified to fix, and stop impeding fixes for the rest.

      The net effect would be lots more fixes, and the work better distributed -- i.e., fast-increasing quality.

    4. Re:Regression testing made easy by abelikoff · · Score: 1
      I strongly disagree. Your scenario has inherent ambiguity embedded into it: it assumes that someone has to make a subjective decision whether feature X is more valuable than feature Y and therefore, feature X could be enhanced/fixed at the expense of feature Y being broken.

      This process is subjective and the net result is the product constantly breaking things that used to work. It practically nullifies the value of regression testing. Consider the "double releases" of so many software packages, where the second release comes straight on the heels of the prior one because the first release broke things that used to work. With reasonable regression testing process such problem is minimized.

      The alternative process requires more discipline. It doesn't hold new fixes "hostage" but it requires responsibility on your side to ensure that your fix doesn't break anything else that used to work. And in case it does, it puts the burden of fixing it upon you. But as a result, you avoid that vicious flipping where every new release tends to break some feature of the previous one.

    5. Re:Regression testing made easy by Markus+Registrada · · Score: 1
      ... it puts the burden of fixing it upon you. But as a result, you avoid that vicious flipping where every new release tends to break some feature of the previous one.

      No. Every new release does break features of the previous one. You're failing to prevent that. You cannot prevent that, no matter how peremptory you get, unless you just prevent all changes of any kind. The features that get broken are ones you don't have tests for, yet. You can never have tests for more than an infinitesimally small fraction of the features delivered.

      The only real difference you make is that fixes are impeded, many are lost, and the burden of making your oddball platform work is placed on the people least qualified and least interested in making it work, and most burdened already. Meanwhile guardians of that oddball platform can just sit around rejecting fixes without supplying any of their own.

      How many people could be making really substantial contributions, but find that satisfying David Edelsohn's proprietary test apparatus is just too much bother? Do even the users of the AIX port benefit from that? It means that they get only a tiny fraction of the otherwise-available platform- independent improvements, in each release. If, instead, they had the opportunity to provide fixes for bits of platform breakage they cared about, they would get the best of both.

      This conclusion is unavoidable once you discount the accidental historical sequence in which tests were added to the test suite. A change that fails a later-entered test is not better than a change that fails an older test. If you have any scruples, you compare them straight across: which one has more impact?

      If a change fixes the bug you introduced, accidentally, that affects all platforms and all users, it certainly is inherently better than leaving in your bug, even if it breaks some obscure test on some obscure platform. Reverse the time sequence, or make them simultaneous. If you get a different answer, you're not reasoning clearly.

    6. Re:Regression testing made easy by abelikoff · · Score: 1
      Sorry, but the above is just not convincing. I just keep sizing this to my work and my group and guess what: it doesn't fit. No matter how "oddball" is the test in the software I am responsible for, it is a test in the testsuite and the testsuite is sacrosanct - no one breaks the test suite.

      Your arguments just serve as excellent exceptions proving the rule. Yes, there are cases when the bugfix is so important that it has to go in right away. However unlike your world where it would happen and then someone starts screaming bloody murder a day, or a week, or a month from now, in our case we are fully aware that the urgent fix breaks feature X before we even release the new version and the next order is to fix that feature for the follow-up release.

      As for the completeness of the testsuite - you are right. Nothing is complete and features do break. However using it as an excuse to not abide by regression testing rules is akin to not trying to achieve anything just because of the possibility of failure. Try regression testing and you'll see that surprise breakages will diminish over time even if not every single case is covered. One project I used to be in charge for was a middleware request broker, routing tens of millions of messages per day with rich feature set and rather decent platform support. Since the initial release I cannot recall a single breakage for the last 15 releases.

    7. Re:Regression testing made easy by dvdeug · · Score: 1

      Every new release does break features of the previous one. You're failing to prevent that. You cannot prevent that, no matter how peremptory you get, unless you just prevent all changes of any kind.

      That doesn't mean it's good to randomly break code. Just because it compiles the test cases doesn't mean it compiles KDE. You don't want those features breaking.

      How many people could be making really substantial contributions, but find that satisfying David Edelsohn's proprietary test apparatus is just too much bother?

      Good question. So far, I haven't seen a single person who actually worked with David Edelsohn saying that it was a problem. Do you have any evidence otherwise?

      It means that they get only a tiny fraction of the otherwise-available platform- independent improvements, in each release.

      So, on one hand, we have a compiler that actually works and will compile KDE, and on the other, we have one with a bunch of theoretical improvements, but is full of bugs that show up on Edelsohn's test suite and in my code. I think I'll take number one, thank you.

    8. Re:Regression testing made easy by Markus+Registrada · · Score: 1
      Nobody said it's good to "randomly break code". Most usually it's already been broken, and somebody's trying to fix it. Fixes for logged bugs aren't "theoretical improvements". Releases are "full of bugs" now. (Have you looked at bugzilla lately?) In part this is because you have discarded the fixes offered, and driven away the people with time and skill to provide them.

      Nobody, also, said compilers should be released for your target with platform bugs. Whoever's responsible for that target port should fix them before releasing, without making mainline developers back out patches.

      You're asserting, without support, that new (platform-limited) breakage of an old test is somehow enormously worse than existing breakage of new tests. Enormously worse, here, means that you'd rather have dozens of the latter bugs than one of the former.

      There's no guarantee you can "compile KDE", either way, with an unreleased compiler. Your odds get better with fewer total bugs -- regardless of how old are the tests the remaining bugs break. Furthermore, since the bugs remaining are platform- only bugs, they're easier to identify and fix without breaking some other platform. Better, the people responsible for fixing them before release are the most qualified to do it, and likely are obliged to do it as part of their day job.

      Do you have some objective reason to think that old tests are inherently way, way more important than new tests, or that platform tests are way more important than core tests?

    9. Re:Regression testing made easy by Markus+Registrada · · Score: 1
      "the testsuite is sacrosanct - no one breaks the test suite."

      The test suite is already broken, and a plethora of reports saying how are lodged in bugzilla. You're already deciding that one bug is worse than another. Instead of looking consciously at the relative impact, though, you're applying an automatic rule that depends only on the age of the test. You would equally well decide automatically according to the day of the week.

      Sacrosanct rules don't make for sound reasoning. It's easy to see why regressions are a big deal for businesses -- it's embarrassing to the management. Business rules need not control development processes in Free Software. Anyway, once the port maintainer fixes any regressions before release, they didn't exist, for embarrassment purposes.

    10. Re:Regression testing made easy by abelikoff · · Score: 1
      It's easy to see why regressions are a big deal for businesses -- it's embarrassing to the management. Business rules need not control development processes in Free Software.

      It's sad if that's the way it works for you. Regression testing is a big deal for our business not because of the management but because we want our clients to be happy. I would be awfully embarrassing for us if every software release (which we do on a weekly basis for 200,000+ clients) broke some feature that used to work before. We care about our reputation and we care about our clients, which is why we try not to break things.

      It is also sad that a lot of Open Source projects reject the idea of treating themselves like a regular business in a sense that they would try to identify the client base, to cater to it and to respect it. Applying those simple rules would dramatically increase the impact of the project, broaden the audience and it would not violate the spirit of the Open Source in any fashion whatsoever.

      Anyway, to close this thread (it's been way longer than what I itended), let me just say that I did not intend to start teaching the GCC developers what they should do. I just shared my views based on my experience. If it is the case that the regression testing is completely unusable for GCC than there is little use in trying to utilize it now without a rewrite. But it is obvious to me that having a decent regression testsuite for GCC would benefit everyone, developers and clients alike.

    11. Re:Regression testing made easy by dvdeug · · Score: 1

      Most usually it's already been broken, and somebody's trying to fix it.

      If it never worked, then it's obviously not a big deal. If it worked, then you should fix it by reversing the breakage, and you can do so in such a way that works on all systems.

      In part this is because you have discarded the fixes offered, and driven away the people with time and skill to provide them.

      We've discarded buggy fixes and driven away people who aren't willing to help make a better compiler.

      You're generalizing from one example, which you have a personal interest in, and you've given us no links to form our own opinion. Have you any examples of this for GCC on AIX?

      Nobody, also, said compilers should be released for your target with platform bugs. Whoever's responsible for that target port should fix them before releasing, without making mainline developers back out patches.

      How is one person supposed to fix bugs added all over the system? They can't be familiar with the entire system, and other people have had all release cycles to break anything that's not ix86-Linux.

      You're asserting, without support, that new (platform-limited) breakage of an old test is somehow enormously worse than existing breakage of new tests. Enormously worse, here, means that you'd rather have dozens of the latter bugs than one of the former.

      We're starting with a fairly complete test suite; it's hard to go far down hill if all the old tests work. It's unlikely that you're going to get a whole lot worse if you're only breaking tests in new systems.

      Your odds get better with fewer total bugs

      That's absurd. A million bugs in edge cases in multiple inheritance isn't worth one in basic assignment. It's not a pure count; it's how often the feature is used and how much programmers have relied on it to work well. Old test cases are likely to cover bugs that will kill all code, and new test cases are likely to cover only narrow edge cases.

      the people responsible for fixing them before release are the most qualified to do it,

      Why is the AIX maintainer the most capable at fixing bugs in your optimization code? How is he supposed to fix them at all, if there's a dozen different bugs that stop GCC from compiling at all on AIX?

  222. A bug is a bug. by autopr0n · · Score: 2, Insightful

    If there's a bug in the main source code base that only manifests on a particular platform, it's still a bug.

    --
    autopr0n is like, down and stuff.
  223. Re:it's rare I think someone is *right* on all cou by Bert64 · · Score: 1

    But what was graphically feasible in a pc game 10 years ago would be feasible on a modern palmos or gba device, and what's feasible today in pc games will be feasible on portable devices in the future...

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  224. Re:Sure. [Same algorithm, less stupid code] by Anonymous Coward · · Score: 0

    Why would you want to do floating point math when using this algorithm? Why do you calculate the square root before you definitely need it? Why do you use complex square root instead of real?

    bool isprime(int a)
    {
    if(!(a & 1) && a != 2)
    return false;

    int u = sqrt(a);

    for(int i = 3; i <= u; i += 2)
    {
    if(!(a % i))
    return false;
    }

    return true;
    }

  225. Pay Attention Class by GreyWizard · · Score: 1

    Please try the following exercise. Write a program to solve a practical problem using 100% Pure Java. Now without using GNU Classpath, attempt to run this program on Windows, GNU/Linux, FreeBSD, OpenBSD, NetBSD, AIX and Solaris, each on x86, x86-64, PPC, SPARC and StrongARM hardware if supported by the operating system. Let's see if you still think Java applications will run on any platform when you're finished. (Hint: you won't.)

    Extra credit: write the same program using Python, Perl, Tcl, Ruby, Scheme, Common Lisp or any other language completely implemented by free software. (Using Java with the subset of libraries supported by GNU Classpath is permitted.) Try to run the program on the same machines used above. Explain the reason this was so easy. Contrast your experience with Sun's claims that without their iron fist Java would fragment and no longer be portable.

    --
    Not all those who wander are lost.
    1. Re:Pay Attention Class by Anonymous Coward · · Score: 0

      The Sun JRE can run on Linux and BSD. You can also download the source and port it to something else if you don't mind a EULA. I've personally written programs in Java and have them all run on Windows, Linux, BSD, and Solaris without modification, or, sometimes, trivial modification.

      IBM has their own JRE for AIX, I don't know how compatible it is with Sun's... But, I can easily knock 6 platforms off your laundry list, and I'm willing to bet that AIX is not far behind.

      I'm not a huge java zealot to begin with but I think you're being a little unfair here.

    2. Re:Pay Attention Class by kaffiene · · Score: 1

      I've written VERY complex Java programs (GUI, Networking, Database access) and had them run perfectly on Win32, Max, Solaris and Linux. Can't comment on the other OSs since I haven't used them, but the operating systems I mentioned 99% of the computing world, so I call your post bullshit or FUD, take your choice.

    3. Re:Pay Attention Class by GreyWizard · · Score: 1

      Amusing. You responded to a post which said in part, "Wasn't Java supposed to solve this problem? I was under the impression that you could run Java apps on any platform" with "Java DOES solve that problem." Now you implicitly admit that Java DOES NOT solve that problem (or at least that you can't comment on whether it does because of your limited experience), but you call *my* post bullshit?

      Even if the platforms you've tried are 99% of the computing world I'm still right and you're still wrong. But you're wrong about that too. For example, those platforms might be 99% or more of the desktop computing world, but they are close to 0% of the embedded computing world (counting Linux as x86 or x86-64, which are the only places the Sun JVM runs). While I won't join you in making up bogus statistics, FreeBSD and OpenBSD are each a considerable chunk of the server computing world (clearly more than 1%).

      There's more to the world than what you happen to see in front of your nose. So I call your post more uninformed nonsense.

      --
      Not all those who wander are lost.
    4. Re:Pay Attention Class by GreyWizard · · Score: 1

      I was not trying to make the point that Java programs cannot be run on any particular pair of platforms. I was pointing out that there are interesting platforms that cannot run practical Java programs because the free replacements are not yet complete. (I admit I could have made this more clear in the original post by omitting platforms where Java is well supported.)

      I don't think there's anything unfair about this. Sun claims "write once, run anywhere" and the post I replied to implied that Java did solve the problem of running code on any platform. The exercise shows that these claims are untrue.

      --
      Not all those who wander are lost.
    5. Re:Pay Attention Class by kaffiene · · Score: 1

      Under your moronic logic, if I create a new OS, and Java doesn't run on it (which obviously it wont since I've just created it) then Java is non portable. But that's clearly bullshit - C wont run on the OS either... until I port a C compiler for the OS.

      The same goes for _any_ OS - the lack of a JVM for that OS no more makes Java non portable than the lack of a C compiler makes C non portable.

      Vanilla C (no guis or bells and whistles) solves all our portablilty issues between OS's if we want console apps only and OBVIOUSLY if someone ports a C compiler to each platform we're interessed in. In exactly the same manner, Java solves all our portability issues (including GUI, networking, OpenGL, Database accessing, etc... etc...) between platforms so long as someone has ported a JVM.

      The two situations are perfectly analagous.

      If the guardians of an OS choose not to port a C compiler to it for religious reasons, that doesn't make C non portable.

    6. Re:Pay Attention Class by GreyWizard · · Score: 1

      FreeBSD, OpenBSD and NetBSD are not hypothetical or new operating systems. A substantial number of real people are using them to solve real problems today for which many plausibly claim that there is no better technical solution available. For these people Java 5 is not a practical option. C, C++, Python, Perl, Tcl, Ruby, Scheme, Common Lips and many other languages (including the subset of Java implemented by GCJ and GNU Classpath) are. The same can be said of people who use Linux on PPC or other unconventional combinations. Hypothetical operating systems for which hypothetical guardians raise hypothetical religious objections to porting a C compiler are irrelevant.

      But since you brought it up, I'll point out why your argument is wrong too. What you're missing -- well, one of the things you're missing -- is that portability is more than a marketing buzzword. Since you like playing hypothetical games, suppose you create a brand new programming language and write a compiler for it on your favorite platform. Can you now claim that programs written in this language are portable because someone could potentially port your compiler to every other platform? Do you take seriously Microsoft's claims that code written to the Win32 API is portable because it can run on Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP and more?

      Portability is about working code. Given two applications with similar features, one written in a language completely implemented by free software and the other in Java 5, which can be run on more actual machines today? Clearly the former. Any platform that can run Java 5 can also run any of the free languages. Given a new operating system, will it be easier to port one of the languages completely implemented by free software or Java 5? Clearly the former. Porting a C compiler and a few libraries will provide the rest almost for free (including the subset of Java implemented by GCJ and GNU Classpath). Someday when a free software implementation has caught up with the latest Java specification this distinction will melt away. Until then Java is less portable.

      This is not an accident and it has nothing to do with "religion" of any kind. Free software is simply more practial. And here I think we find the true bee in your bonnet. You just don't want to accept that people who point out the importance of software freedom might actually be on to something. Well, go ahead. Ingore the evidence and pretend we're all on some bizarre religious crusade with no connection to problems in the real world. We'll still be right and you'll still be wrong.

      --
      Not all those who wander are lost.
    7. Re:Pay Attention Class by kaffiene · · Score: 1

      You've got me quite wrong. I'm a proponent of Open Source, I choose free and open whenever I can. I even petitioned Sun (as pointless as my one voice may be) to open source Java.

      The "bee in my bonnet" isn't the efficacy of free software - I'm totaly on board the band wagon there. My problem is the slashbot denegration of Java and or Sun because they don't do things just the way the Linux community wants.

    8. Re:Pay Attention Class by GreyWizard · · Score: 1

      I appologize if I've got you wrong, but remember you started this by trivializing the concerns of those who won't use Java and went on to claim that platforms other than a handful of your favorites are unimportant. These are bad habits. There are things to like about Sun and Java, but using unsound arguments to defend them from reasonable criticism is not much different from attacking them with the same.

      --
      Not all those who wander are lost.
  226. If you're going to fault them... by zCyl · · Score: 1

    If everyone got in the habbit of at least writing code that doesn't use system specific includes (linux developers seem the worst at this)

    Point me to the webpage that lists the "standard" portable includes.

    1. Re:If you're going to fault them... by Anonymous Coward · · Score: 0

      ANSI C++ Standard header files (also mentions the ones from ANSI C)

  227. InfoZip's complexity is more than just portability by Anonymous Coward · · Score: 0
    Info-Zip is not the best example, because Info-Zip's complexity is due to the following things:
    1. Conventional portability issues, which people here generally agree are important
    2. Portability to be compilable on lame outdated compilers. Some portable projects (MAME comes to mind) are extremely portable, but will not compile unless you have a modern (as in support for 64-bit integer, and ANSI support) compiler. On the other hand, Info-Zip needs to be compiled with compilers that were written fifteen years ago.
    3. Hyper flexibility - With Info-Zip, you can do some really arcane things, such as customizing the memory allocators that the project uses. While malloc() and free() are good for 99% of the people out there, it isn't always acceptable, especially in embedded environments.
    While #1 may always be "good for the soul", #2 and #3 can be annoying, and may make the programmer feel like a luddite at best, or a torture victim at worst.
  228. Pointless forest by whitehatlurker · · Score: 1
    While Ulrich may be biased (he is a RedHat employee) he has the point

    Which might not show if he had a different hat.

    The limit of this is that people will only write OSS for MS-Windows. NOBODY wants that!

    Hey what happened to those silly image thingies? Did /. managlement listen to the whines of the readership? (Falls to ground, quivers)

    --
    .. paranoid crackpot leftover from the days of Amiga.
  229. Re:Porting apps to M$ OS not as hard as it used to by tepples · · Score: 1

    Interesting; I didn't know that, after six years of not being able to afford to keep up with Macintosh computers. If I take a file with a 42-character name from Mac OS X to Mac OS 8.6, does the file have a funny ~1 at the end of its name?

  230. The new OSS song? by Anonymous Coward · · Score: 0

    So, sure, F/OSS means you have the source to modify if you want something supported but it doesn't guarantee that you have the knowledge/skills.

    If, say Linux, decides not to support your platform anymore, that may leave you out in the cold... and it's no more or less cold than if a proprietary system did the same.

    I guess you *could* hire some folks to keep your port up to date, but that would be just as expensive. Besides, in proprietary software, smaller companies will at least give you a code escrow so if they go under or whatever, you will have the code just the same.

    1. Re:The new OSS song? by Anonymous Coward · · Score: 0
      Just as expensive as what? Switching platforms?

      Even if you offer to pay for maintenance from a proprietary vendor, they may feel perfectly entitled to say "nope, not worth our time, sucks to be you" and you have no recourse.

      I've heard of the notion of source escrow but I've never seen it happen. Can you name any vendors that offer this? How do you know anyone outside the original dev team will be able to build a release from it, or indeed that the escrowed source is complete and up to date? What if it requires third-party tools that are no longer available?

  231. the minority is the majority by epine · · Score: 1


    The only point I fully agreed with is that Debian took on more platforms than they could cope with. I've always thought Debian should release on a couple of major platforms (x86, AMD64, PPC) and follow that up with a portability release for historical/quirky platforms as soon as they could pull it together.

    The only case where I'd be tempted to drop a minority platform is where it lacks a crucial feature, such as proper atomic operations. If it were possible, I'd drop all platforms lacking NX protection (which should have existed ten years ago), but perhaps that's not practical just yet.

    For the remainder of the differences, clean code goes a long way.

  232. Short Sightedness by nurb432 · · Score: 1

    This seems to be going around a lot lately.

    He seems to have forgotten when the ix86 was a 'minor platform'..

    Once upon a time the 65xx was king of the hill.

    If you become singleminded, you only serve to hurt the future, and perhaps prevent something else thats better from coming along..

    Besides, i bet if you count them there are more ARM and MIPS CPUs out there. Remember there are a LOT more embedded processors then desktops..

    --
    ---- Booth was a patriot ----
  233. Re:Debian's more about leadership attitudes, I thi by dvdeug · · Score: 1

    The NetBSD have an impressive list of platforms, longer than anyone else's, in part because everyone else lists PPC, M68K, ARM, MIPS, SH, etc. only once. Sure, they list both MIPS-BE and MIPS-LE, SPARC and SPARC64, and PPC and PPC64, but that doesn't come near the splitting in the NetBSD list.

    at the same time hack userland, kernel and protocols. While Debian developers mostly package upstream stuff.

    And how fast does that evolve? How does the work the NetBSD people put into the (relatively static) userland and kernel compare to the work the Debian developers put into X and GCC and the kernel?

  234. This is pretty funny... by Anonymous Coward · · Score: 0

    ...given that Linux itself is a minority platform.

  235. Lots of platforms slows down releases... not. by tbuskey · · Score: 1

    Well, Debian runs on a number of platforms and has a slow release schedule.

    What about NetBSD? It's got far more platforms and a faster release schedule. Maybe Debian needs to add more platforms.

  236. It's Microsoft's fault that Windows is closed by Trejkaz · · Score: 1

    You can't blame Java for most of the platforms in the world being closed. Go and bitch somewhere else, perhaps at HP or IBM? Or perhaps you could try Microsoft? They might listen to your gripes.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  237. Who's smoking the crack? by Trejkaz · · Score: 1

    "Most platforms" these days are mobile phones, which pretty much all support Java.

    So I can say that with a fair degree of certainty that you're the one smoking crack here, as I haven't seen a phone made in the past four years which couldn't run Java. And that's many more platforms than you'll ever see on the desktop or server. :-)

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  238. Blame Sun for broken third-party VMs by Trejkaz · · Score: 1

    So why not blame Sun for all the broken third-party VMs? Sounds like a plan to me. Oh wait, what does "third-party" mean again? I think I've forgotten.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  239. Teacher, have some of your own medicine. by Trejkaz · · Score: 1

    Unfair comparison.

    If you're not allowed to use a free implementation of Java to run a Java app, then let's level the playing field:

    You're not allowed to use a free implementation of Python, Perl, Tcl, Ruby, Scheme, Common Lisp or any other language. Commercial implementations only, please.

    Papers will be collected at the end of the lab.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  240. Re:VM in full maturity? by Anonymous Coward · · Score: 0
    Wait...go back a few decades to the Mainframe..and voila...we have mature VM from IBM. In fact it does VM so well that entire server farms are run on old 390s, running linux under VM on an IBM system 390.

    Virtual Machines aren't new technology...just new to the PC world. It's not that it hasn't been done right. It's just asking too much for a PC to do the job of a Mainframe. PC's aren't that powerful...YET.

  241. pot, kettle by Anonymous Coward · · Score: 0

    I notice you didn't refute a single one of his arguments, You just namecalled. Hypocrisy. It's fun for the whole family.

  242. Put on this dunce cap and sit in the corner. by GreyWizard · · Score: 1

    Wow. Just wow. You have missed the point on an epic scale. And the funny part is you're actually proud enough of your dumb little argument to decorate it with rhetorical immitations of mine. Allow me spell out what should have been obvious to you (in smaller words you'll be more likely to understand): there is no *complete* free software implementation of the current Java specification.

    This is why the post I replied to said, "The linux crowd by and large won't use it because it's not quite their flavour of 'free'." This is also why I included Java with the subset of the library supported by GNU Classpath in the second paragraph.

    The point is that languages completely implemented by free software can usually be used on any platform without compatibility problems while those that are not are constrained to the platforms the vendor chooses to support. (Unless one sticks to a subset supported by free software which, strictly speaking, makes it a different language.)

    Come on now, try a little harder. This is not rocket science.

    --
    Not all those who wander are lost.
    1. Re:Put on this dunce cap and sit in the corner. by Trejkaz · · Score: 1

      _Which_ current Java specification? The virtual machine specification was pretty well covered, I thought. And I wasn't sure that most the API is actually specified anywhere at all.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  243. Java "Specification" by GreyWizard · · Score: 1

    "Java specification" was a simple shorthand for the specification of the virtual machine, language and libraries. No doubt the first two are rather adequately implemented by GCJ and other free software Java projects, but the last is a vast sprawling mess so GNU Classpath has not managed to completely implement it yet.

    Yes the API is actually specified. Look over here.

    --
    Not all those who wander are lost.
  244. Code is BSD, no roll your own, no lic conflict by AHumbleOpinion · · Score: 1

    He doesn't accept patches for glibc to support the BSD buffer-overflow-protected string functions(e.g. strlcpy() and friends) because programers are supposed to be smart enough not to write buffer overflows (his arguement). As a result of his policy, many open source apps have been forced to roll their own functions or else use the error prone posix ones.

    That is not true. The BSD source code could be dropped directly into anyone's app. There is no need to roll your own, there is not licensing conflict.

    1. Re:Code is BSD, no roll your own, no lic conflict by the+morgawr · · Score: 1

      Certainly true; however it is still really silly to have versions of the same function compiled into 20 different apps.

      --
      The policy of the United States is worse than bad---it is insane. -- Ludwig von Mises, Economic Policy(1959)
  245. Actually MS makes the compiler freely available by AHumbleOpinion · · Score: 1

    But in order to port to windows you need to own a windows box and a suitable compiler, which costs money you as a developer may be unwilling to spend..

    Untrue, MS makes the compiler freely available:

    "Q. What is the Visual C++ Toolkit 2003?
    A. The Visual C++ Toolkit is a free edition of Microsoft's professional Visual C++ optimizing compiler and standard libraries--the same optimizing compiler and standard libraries that ship in Visual Studio .NET 2003 Professional!

    Q. Are there any restrictions on how I use the Visual C++ Toolkit?
    A. In general, no. You may use the Toolkit to build C++ -based applications, even commercial applications, and you may redistribute those applications in accordance with the terms of the End User License Agreement (EULA). "
    http://msdn.microsoft.com/visualc/vctoolkit2003/

  246. FOSS' mission is not to help Linux by AHumbleOpinion · · Score: 1

    FOSS' mission is not to help Linux, it is to help users. To help users get something useful done and to be able to deal with problems themselves if they have no recourse. FOSS is bigger, and older, than Linux.

    1. Re:FOSS' mission is not to help Linux by VStrider · · Score: 1

      I agree, and I wish things were that simple. If Microsoft ever dominates the OS market completely and kills Linux, BSD and other OSes, we won't be able to run any FOSS app on windows. Heh, it might actually happen sooner with the upcoming DRM.

      --
      VStrider.
    2. Re:FOSS' mission is not to help Linux by AHumbleOpinion · · Score: 1

      I agree, and I wish things were that simple. If Microsoft ever dominates the OS market completely and kills Linux, BSD and other OSes, we won't be able to run any FOSS app on windows. Heh, it might actually happen sooner with the upcoming DRM.

      Untrue. DRM will not prevent user from building and running their own code. As for a user accessing DRM'd material FOSS developers could implement the necessary code, support the hardware embedded on the motherboard just like Windows. Intel is probably not going to make the interface to their chipset unavailable.

    3. Re:FOSS' mission is not to help Linux by VStrider · · Score: 1

      We can agree to disagree. Time will tell.

      --
      VStrider.
  247. Re:EMERGENCY: Boycott Indonesia by Quelain · · Score: 1

    and your point is?

    --
    Cthulhu loves you.
  248. You are joking? by Anonymous Coward · · Score: 0

    For me GIMP is one of the most crash-prone pieces of software currently around. At least in its Windows incarnation. I don't have an axe to grind either way, its good when it works, just a bit surprised to hear it spoken of as stable really. The funny thing is I can't remember the last time a piece of software crashed on my WinXP box, the GIMP aside. Certainly Win32 used to be bad that way but if you've been away for a few years (ie. pre-WinXP SP1) you might be surprised in the event you went back to it (possibly with a gun to your head or something, I dunno!) I'd say the thing about Windows apps being prone to crashing is a meme thats rapidly looking a bit creaky and anachronistic. Whatever else they've buggered up (DRM, activation etc.) there has been some progress in that particular area.