Slashdot Mirror


$100,000 Open Source Design Competition

Hrvoje Niksic writes "The Software Carpentry project has announced its first Open Source design competition. They offer prizes totaling $100,000 for people who come up with good design for tools that replace autoconf, make, as well as a bug tracking system and a regression testing suite. Good luck!"

210 comments

  1. Similar comptetion by Anonymous Coward · · Score: 0

    I hereby announce the competition to rewrite the
    free unix kernel of your choice in python.

    First prize is the IP number of an e-commerce site storing 100000 credit card numbers.



    Free Slash !

  2. Re:second or third post! by Anonymous Coward · · Score: 0

    DER MEDICATIONEN IST UNNECESSARCHICHHHCH LOOK OUT BELOW!!!!!! ahahahahahah, I can't believe I just did that.


    My god. I have masturbated out a window. I am no longer a human, I am some kind of sick animal. FUCK ME.

  3. Winnie-the-Pooh + Pokemon + LSD == The above by Anonymous Coward · · Score: 0


    Wow.

    You go, uh, thing.

  4. Re:second or third post! by Anonymous Coward · · Score: 0


    Tell me, how long has it been since you last took your medication?

  5. ummm...WTF is X4.0 then? by Anonymous Coward · · Score: 0

    hey dumbass, what do you think X4.0 is all about? How about kdevelop? That program is far superior to any winblows devel suite! You aren't worthy of LINUX, install NT.

  6. you are an asshole. by Anonymous Coward · · Score: 0


    oh wait, but you knew that already.

    Well, you can keep using make, and you are
    probably pretty good at it. That doesn't
    mean it's perfect (did you even read some
    of the material on that site?). The rest
    of us will move onto better things, which
    will probably be easier to use as well. Feel
    free to catch up anytime.

    Any wasting your time?? You instigated this
    fucking "discussion". He was only defending
    himself. Get a life!

  7. Re:3 questions by Anonymous Coward · · Score: 0


    except that there were very good reasons
    on the site for why they were mandating
    python.(read the faq)

    to the original poster:
    Are you advocating C++ (because of compiler
    availability?), or are you advocating use of
    any old language?

    In short, dealing with a lot of languages
    is a pain, one language used all over is
    easy and consistent (especially when it's
    a decent language like python) and python
    (or eg. perl) makes the kind of programming
    these tools need easy (easier than C++, think
    automatic mem. managment, if nothing else).

    Peter.

  8. very true. by Anonymous Coward · · Score: 0


    but this is slashdot, so I'll get moderated
    down.

  9. educate them? by Anonymous Coward · · Score: 0


    what? you may have a point, but details!

  10. you can use other build rules in VC by Anonymous Coward · · Score: 0


    to make use of lex and yacc. I have done
    it. It's not a clean as a makefile (it
    is a special case), but you can do it.


    Peter.

  11. Re:The old folks were not stupid by Anonymous Coward · · Score: 0


    Yes! I was thinking about this the other
    day. The ideal for me: editing a program
    involves editing the data structures
    representing the program. Source code
    is simply a textual representation of the
    data structures. Some languages (lisp) make
    this easier than other languages (c).


    Peter.

  12. bug tracking by Anonymous Coward · · Score: 0

    One of the topics was a bug tracking software. Unfortunatly, the people running the compitition did not look very far. A helpful piece of software is Jitterbug for handing mail tracking. Note this is really good for NON tech organizations with help desks. The big problem with a lot of the bug tracking software is that they are impossible to install. This issue may have been solved. Unfortuntly, this coward has not yet tried it (but problably will) How do you install a bug tracking system easily? install a Debian linux box and then install the deb file for the debian bug tracking system.

  13. Cook in NOT free by Anonymous Coward · · Score: 0
    They are looking for free (not free*, i.e GPL'd) replacements to the GNU tools. Cook obviously does not qualify because it is GPL'd.

    *Only if you agree to restrict your code in the same nasty way we do. Do not mix with free nor commercial products. Valid while supplies last. Offer voids in NY, CA, IL and where prohibited by law. On participants stores only. Giving away your soul may be required.

    1. Re:Cook in NOT free by Anonymous Coward · · Score: 0

      What's the point of writing free software that allows people to make proprietary versions of it?

    2. Re:Cook in NOT free by Anonymous Coward · · Score: 1

      Because only then is it truly free. And yes, I mean both free as in speech and free as in beer.

  14. Hrvoje Niksic by Anonymous Coward · · Score: 0

    Man, I love this guy. His "wget" is one of the most beautiful pieces of software I've seen. That thing does practically everything you could want. His XEmacs hacks are priceless.

    1. Re:Hrvoje Niksic by carbon · · Score: 1

      Wget rocks my world...

      Hasnt been updated in a while, whats up with that?

  15. Re:They have got to be kidding... by Anonymous Coward · · Score: 0
    Maximum portability is always good.

    ergo GNU is not good

  16. Re:Should we move away from the file system paradi by Anonymous Coward · · Score: 0


    The whole autoconf/automake/libtool toolchain is an impressive one, but it is inheritently bound to the GPL. If we ever want a true free BSD, we have to think of an alternative. But as with the system compiler, we have other, more important work to tackle with limited resources right now.

    And that's why *BSD stuff will never beat GNU software - they took the time to do it properly; you're "too busy" to bother.

  17. Re:Another point of view by Anonymous Coward · · Score: 0


    Now that is a truly lame comparison. Well done, dork.

  18. Re:autoconf && make are useless to Python. by Anonymous Coward · · Score: 0


    if you look closely, you will notice that
    the python programs must not just do the
    task at hand, but also generate C versions
    of themselves. They have considered your
    point, and have added this clause to eliminate
    this redundancy, and also appeal to C hackers.

    (joke)

  19. Chill by Anonymous Coward · · Score: 0

    No reason to mount him: he had a good point. (Although as someone already pointed out, Minix was "broken" in a sense.)

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


      Blow me, dickweed.

    2. Re:Chill by Anonymous Coward · · Score: 0

      I just did, didn't you notice?

  20. Re:They have got to be kidding... by Anonymous Coward · · Score: 0

    No, you are free to port GNU tools to whatever you want - SO LONG AS you don't subsequently try to allow anyone [the possibility those tools, modify them, and stop people porting them to another platform] -[]which the BSD license allows. EG. the BSD derived code in Win98.

  21. Re:Another point of view by Anonymous Coward · · Score: 0

    I find gnu make's rule-based interface not at all confusing. It makes sense to me as the most logical way to structure dependency trees for minimal recompilation time-wasting.

  22. Nice to answer your own posts by Anonymous Coward · · Score: 0

    and why don't you stop insulting make. It's you who is problematic, not the tool. With make you can do whatever you want, provided you learn how it works. There are some excellent tutorials out there. Dig in.

    1. Re:Nice to answer your own posts by Anonymous Coward · · Score: 0


      gosh, I didn't realize pointing out a tool
      was imperfect was the same as insulting it.

      Your argument can be extended to all computer
      users. Does that mean everyone should be using
      unix? fuck no.

  23. Re:Yeah, right... That's the point, actually by Anonymous Coward · · Score: 0

    I've always been fascinated by the fact, that after mister JFK, said those words. That the US evolved it's 3D image, and moving picture alteration capability to such a degree, that no man today can see anything else, but that the crew on Star Trek are really standing inside the space ship Enterprise. Imagine, JFK says: Let's land on the moon... and the next thing we know, man is capable of creating animated pictures that give us an artists view of what the Universe might look like, and artificial worlds like man has never known before. And before a mars expedition ever comes to life... man has already created an artists view, of what such a thing might look like.
    It's almost like if that certain evolution, started with the moon landing. And I wonder if a success of a mars expedition is line with the artists realistic quality of his representation of it.

  24. Re:They mandate Python!? by Anonymous Coward · · Score: 0

    if you don't know crap shut up.

  25. Re-inventing wheel? by Anonymous Coward · · Score: 0

    There are so many other tools which would be much more useful than re-inventing gmake and autoconf. For what autoconf (and related tools) do, they're an excellent suite.

  26. Re:Cook is NOT free & neither is this stuff by Anonymous Coward · · Score: 0

    Since this stuff is being sponsored by everyone (ie, US taxpayers) it really should be put into the Public Domain so everyone is free to use it as they please, since they are paying for it. That's what US copyright law writers intended when they wrote that works of the government are not protected. Too bad it so easy for agencies like this sponsor to just hand off to a private organization or even a private company, like in this case (or the case of parts of Linux), and let THEM own what is, essentially, a work of the government. (People who are paid for their work are usually paid for their rights too or, actually, never have the rights -- see the US Code if you don't believe that.)

  27. Nice try by Anonymous Coward · · Score: 0

    but I don't think you're smart enough to pull a stunt like that, given that you can't even figure out the basics of "make". I hear VB has a nice gui you can use, and there are a plethora of WYSIWYG html editors you can purchase. Maybe then you have a prayer of dragging-and-dropping your way to code production.

    1. Re:Nice try by Kamran · · Score: 1

      Maybe your just too clever to read or something.
      All I said was that someone could make a version of Make which would make it easier for newbies to programming to use.

      I never suggested I couldn't use Make either.
      I just suggested make something which is easier for newbies to programming to use.

      Maybe you should also try and register and not continue going around flaming as an Anonymous Coward.

  28. Re:Is make too difficult? by Anonymous Coward · · Score: 0

    The "time greater than" approach has never been a significant source of problems in my experience. How often do you do something "that involves the possibility of a file changing to an earlier date"?

    My biggest complaint is that there seems to be no way to get make to ignore cosmetic changes. It's very annoying that make wants to rebuild the entire project any time a comment is changed in a header file. I really, really wish I could find some way to explain to make that the project really depends on the output from something like "cpp", and that it doesn't need to rebuild unless that output changes.

  29. "us newbies" is your term by Anonymous Coward · · Score: 0

    don't try to disassociate yourself from the newbies now that you're embarassed.

    Maybe you should also try and register and not continue going around flaming as an Anonymous Coward

    yeah. first you claim to (ingeniously) have a fake hotmail address and now you're condemning me for not having the sack to have an account. well what is it?

    1. Re:"us newbies" is your term by Kamran · · Score: 1

      I'm not saying I'm not a newbie.
      And maybe it's just that I don't want to get flamed by people like you that I give a Hotmail account which I no longer use.


      Being a newbie doesn't mean you can't use make.
      I never said that I couldn't use make.
      I said perhaps make one which is easier for newbies to use.

      Why r u trying to flame?
      Got nothing better to do?
      I simply made a suggestion.

  30. Re:They have got to be kidding... by Anonymous Coward · · Score: 0

    I had no trouble getting VisualStudio to run lex and yacc (actually flex and bison) and then compile the resulting files. If you look, you can set custom make steps for files in the project.

  31. The only way. by Anonymous Coward · · Score: 0

    Because that's the only way to write free software. If you don't allow people to make proprietary versions of it, then it is not free. In fact, if it is not free, it IS proprietary because you're claiming ownership and controlling its use. Look it up somewhere else than fsf.org. The point of writing free software should not be to force others to redo your work. It's to avoid that. The world is made better if somebody gets rich off my work and it doesn't harm me except in a special cases, when I'll go the full close-source route. There's no good reason to discriminate between who I open my code to (except maybe between those who'll pay and those who wont if I go that route).

  32. Why's this page default to FLAT mode? by Anonymous Coward · · Score: 0
    Why'd they change the default to FLAT mode? Trying to bully people into registering and enabling cookies is my guess.

    Or do they get more advertising credit when we have to reload a whole new version of the page in a reasonable mode?

  33. A problem with the "comittee based" funding by Anonymous Coward · · Score: 0

    I realy think that framing this project in such a way makes it unpleasant. I am not questioning the credentials of the committee members. Rather it is my understanding that the comunity (not some committee) is the final judge in the open source world. If they want to help open source, they can help a project that is already recognized from the community. If they want this particular job done - hire someone for God's sake (whatever the licence). Playing these lame games with commitees and hipe around the money in their hands looks ugly to me. Just my two lines of code. AC

  34. Regression Testing - any good tools... by Anonymous Coward · · Score: 0

    I'm not talking about autoated testing, just test-generation and test tracking. Something that can handle and manage 500-3,000 test scripts, with many-to-many relationships between both scripts and functions. The previous projects I've done have all required that I make custom tools since people are just too damn picky. (Worse yet, it was in Access; tip - if you have to use this DB, don't *EVER* use the scripting tool. Do everything in raw SQL...and if you don't know SQL, learn it...you'll save yourself time and frustration.)

    1. Re:Regression Testing - any good tools... by Anonymous Coward · · Score: 0

      #ifdef CAN_RANT
      #define OFF_TOPIC
      >>Do everything in raw SQL
      It would help if access actually followed the SQL standard without implementing little 'extras'
      #endif

  35. MIT License is viral too. by Anonymous Coward · · Score: 0
    I'm sure glad to see them not use the GPL, but I'm not sure the MIT/X11 license is much better. In practice, it's a lot better because people pretty-much ignore it, but that mostly because almost nobody, including the licensors, knows what the license really implies.

    If you make a derivative product, the license means that your product will be copyrighted by both you and the original author AND the derivative product will carry the same license as the original. Neither the law or the license allows you to remove its important clauses.

    It's all too complicated to flesh out here (source and binary are treated differently, you can keep your code separate, combining differently-licensed code is more free than GPL, etc.), but I think we need a new almost-free license which does nothing but protect the author from law suits and maybe insists on attribution.

  36. It coulda been worse by Anonymous Coward · · Score: 0

    It coulda been perl

  37. Re:OPEN SOURCE HAIKU GENERATOR by Anonymous Coward · · Score: 0

    The open source community has needed a good haiku generator for a very long time. Kudos!

  38. The coward is he who doesn't RTFM by Anonymous Coward · · Score: 0

    and uses hotmail

    1. Re:The coward is he who doesn't RTFM by Kamran · · Score: 1

      Maybe he doesn't use the Hotmail account. Thats why he leaves that email for ppl to use.

  39. Re:Another point of view by Anonymous Coward · · Score: 0

    Just because it _works_ doesn't mean it isn't broken. Make _works_, but its interface is confusing and lame.

  40. Newbies should earn their keep by Anonymous Coward · · Score: 0

    and IMHO you haven't. You're wasting bandwidth and my time - I should stop chastising you because it's blatant that you'll never learn anyway. I hope you're done humiliating youself here.

  41. make is perfect by Anonymous Coward · · Score: 0

    provided lusers like yourself take the time to read the documentation. Unix too, but I guess you're having a tough time. Stick with it; maybe some day you'll get it.

  42. don't encourage him by Anonymous Coward · · Score: 0

    he'll be asking questions that are in the fags next

  43. that's *faqs* by Anonymous Coward · · Score: 0

    guess I'm not perfect after all

  44. Re:They mandate Python!? by Anonymous Coward · · Score: 0

    It screams c++ to you, you must have a big headache. I've just spend 10 minutes figuring out way Adobe Premiere crashed on a friends win98 box with 128MB, it turned out it was lack of mem!!! He had a 62MB max swap file, and Premiere was made with C++ (which issued useless runtime errors).

    I didn't like c++, now I even hate it...

  45. Artificial Intelligence under GPL by Da+Penguin · · Score: 0

    The Great AIP (Artificial Inelligence Project) has started.
    It is open source under the GPL and for Linux.

  46. requires Python by Anonymous Coward · · Score: 1

    Did anyone else notice the requirement that "All tools will be ... be implemented primarily in, or scriptable with, Python." And curiously Guido van Rossum is one of the judges.... Perhaps a little bias on the language selection. Note: not intended to a start language war, just an interesting point

    1. Re:requires Python by gvwilson · · Score: 1

      Thanks for your post. In fact, neither Guido van Rossum nor any other member of the core Python development team was involved in setting up this proposal; Guido was invited to be a judge only after the project's funding had been secured (and in fact was the last-but-one judge to be added to the list). The FAQ discusses our reasons for choosing Python --- it was initially going to be Perl, but after teaching courses to scientists and engineers at Los Alamos for a year and a half, we believed that something simpler was necessary.

      Thanks for your post,
      Greg Wilson
      http://www.software-carpentry.com

  47. Re:3 questions by Vic+Metcalfe · · Score: 1
    Yes, I have studied Python, and have used it, but only to learn about it. I haven't done anything serious with it. I liked it a lot, but I like other languages better. I'm not totally biased against interpreted languages. I've done major projects in java and php for example.

    It comes down to choosing the best tool for the job. For one web site I was working on I used a combination of c, c++, bash and php. Each did something that it was better suited for than the others. I like having that kind of flexability, so I don't like the idea of python, or any other language being mandated.

  48. 3 questions by mce · · Score: 1
    1. Have you studied Python?
    2. Have you used it?
    3. Have you used it for so-called "serious" programming?

    I've seen some amazing software engineering support systems done in Python already. Stuff that is quite a bit more complex to design and implement than make et al. Stuff of the kind that previously made a long time C++ user like me say "this screams for C++". Until, that is, I saw it done and maintained in Python with much less (and cleaner) code and time than would ever be possible in C++.

    --

    1. Re:3 questions by mce · · Score: 1
      OK, fair enough.

      --

  49. Re:Should we move away from the file system paradi by John+Allsup · · Score: 1

    In simple terms, the autoconf-automake-libtool chain needs to be unified into a SINGLE program with a SINGLE database of bits and pieces (which could possibly be overlaid by a user's own database). First, there is the speed issue. Second, the problem that version inconsistencies produce (how may times have you had automake or authconf complain...). Third, and most importantly, each part of the toolchain mentioned is a single-point-of-failure in the build process -- reducing that to number to two-ish (gcc,NewMakeTool,possibly libraries) would make building a lot easier, and predictable (the predictability is NECESSARY if you want to distribute source and expect it to compile the same way on someone else's box as it does on yours)
    John

    --
    John_Chalisque
  50. Re:The old folks were not stupid by John+Allsup · · Score: 1

    Forcing the structures in the source code, by (for example) inventing a new language that has uses XML or SGML for the 'authoratative' version sounds like what you are talking about -- this allows for some of the fancy editing features in Visual Braindamage to be added trivially to any such language.

    Question: What are pros/cons of what I shall term 'enforced coding structures' -- is there a proper term for this?
    John

    --
    John_Chalisque
  51. Re:They have got to be kidding... by Per+Abrahamsen · · Score: 1

    They aren't exactly robust, depending on space vs. tab often leads to problems.

  52. The referees... by Per+Abrahamsen · · Score: 1

    The referees are all presented on the project home page.

    1. Re:The referees... by mvw · · Score: 1

      Thanks a lot!

  53. Re:Where's source revision control? by Per+Abrahamsen · · Score: 1

    That's answared in the FAQ. Short version: It's very complex, they want experience with replacing the simple tools first.

  54. Is a contest a good idea? by BluBrick · · Score: 1

    I don't think so.

    Because Free Software/Open Source Software is based on collaboration while contests are based on competition. The two are almost perfect opposites.

    In this contest, we will have programmers duplicating their efforts on many projects rather than having many programmers expending their efforts on a few projects. What's more, not necessarily doing it because they are interested in the project, but in some cases, purely for the money. And after all, no-one writes FS/OSS for the money do they?



    --
    Ahh - My eye!
    The doctor said I'm not supposed to get Slashdot in it!
  55. Here is a feature that can improve make by Kenneth+Stephen · · Score: 1

    Incremental compiles.

    If you look at the IDE provided by the IBM VisualAge C++ compiler, it provides incremental compiles. So, if you only change a comment within the file, the file wont be recompiled. Again, if a particular function was changed in a manner that didnt impact the rest of the file, only the code for that function is recompiled. This vastly reduces "make" time. Of course, this needs to be supported by the compiler too, but then both the compiler and make are GNU tools, so atleast in theory, this is possible...

    --

    There is no such thing as luck. Luck is nothing but an absence of bad luck.

  56. Fundamental Design Tenet Already Broken by Johann · · Score: 1

    Hmm. Let's see, mandate a particular development language for programs to be adopted by "medium-level" program designers.

    Let's apply this "logic" to building skyscrapers: "Design applicants must use Legos (tm) because they are easier for use by new engineers."

    My point: Not all languages have the same strengths or weaknesses. Mandating a particular language that may or may not map well into the problem domain is a Bad Idea (tm). Of course, GOOD SOFTWARE DESIGNERS already know that this is a Bad Idea (tm) and so they try to chose the best language for the problem.

    The contest is not a bad idea, but the rules are illogical at best. I will be highly surprized if they can build a make or autoconf replacement by the end of this year. These are complex problems and "just using Python" will not make them easier. Cheers

    --

    --
    "You're gonna need a bigger boat." - Chief Brody
  57. Why Python, and who is really paying? by tig · · Score: 1

    If you look at the page carefully, you will find that the money is being put up by the US Government through the National Labs. So the US Govt is now *directly* funding Open Source. The products would be used to further parallel programming, beowulf, and just plain normal programming in a significant way. Yippee!

    Why Python? A lot of developers at Labs are Biologists, physicists, chemists, weather folk, etc who develop large beouwulf and other numerical codes. Given that most scientists pick up programming without any formal training, they are more interested in spending time on their coding and science than in Makefile and autoconf arcana(and dont tell me that a m4 based config system is nor arcane).

    Python is easyly understandable. A java/C++ programmer would pick it up in 2 hours. A C programmer in a day or two. People without any formal training pick it up in a week or so. existing C and C++ and Fortran code can be easily wrapped using SWIG--this has been used to implement the outer calculation and visualization loop for massively parallel molecular dynamics programs. See http://www.swig.org ,papers, for details.

    This is the basic point: How do you extent the advantages of software enginnering to those who are not software developers, but simulators and scientists, and other engineers. And how do you stop being elitist and lower the barrier of entry into Open Source for the nonexperts and the common man. And how do you ensure extensibility. The answer is scripting, and good coding practises for the non-expert demand python.

    --
    The Inscrutable Gargoyle
  58. Re:Language Standardization Issues by ocie · · Score: 1

    I can say that it is (a) very easy to learn without sacrificing power.

    The problem I have with Python is exactly that it has sacrificed some power. Take lists as an example. Python lists are arrays, so inserts and deletes are O(N)!!.

    I agree that more language choices are good. I also think that there is a right tool for the job, and that the job of collecting dependency information doesn't cry out for a scripting language.

    --
    JET Program: see Japan, meet intere
  59. python restriction by 10am-bedtime · · Score: 1
    heh, the organizers slam `make' and then require python? does anyone else see the irony of this?

    a good chunk of the FAQ is spent defending this decision, w/ the crux of the answer being along the lines of "we feel python is the best compromise...". too bad, one would think the most viable approach is to educate new developers rather than dumbing down the tools.

    --thi

  60. Recursive Make Considered Harmful by Deven · · Score: 1
    My objection against make is not it's complicated syntax (which is only complicated because different levels of parsing - make's and sh's - intermix and regular expressions need a bit familiarity), but that it is slow.

    There's more to make's apparent "slowness" than meets the eye. Peter Miller has written an excellent analysis in his paper, "Recursive Make Considered Harmful" -- his argument is that make has been misused for years, and we need to rethink how we use it. Instead of recursive invocations of make, we need to use the features of modern make implementations (e.g. GNU make) to make whole-project Makefiles that can do the job make exists to do.

    Because Unix projects were once small enough to fit in a single directory comfortably, people got used to the idea of "one directory, one Makefile". When projects began to require many directories to organize the source files, many Makefiles and recursive invocations of make became the norm. This turns out to be extremely inefficient and prone to error, for a variety of reasons detailed in the paper. Instead, he advocates using many fragments of a single Makefile (one fragment per directory) and including those with make's include directive. (Hence the need for a modern make.) The paper also contains a section about writing efficient Makefiles, with techniques to significantly improve processing speed even with traditional recursive make techniques.

    Common objections to this technique are also addressed:
    • 4.1. A Single Makefile Is Too Big
    • 4.2. A Single Makefile Is Unmaintainable
    • 4.3. It's Too Hard To Write The Rules
    • 4.4. I Only Want To Build My Little Bit
    • 4.5. The Build Will Take Too Long
    • 4.6. You'll Run Out Of Memory
    While these techniques don't seem to have caught on much yet, there are some real-world projects (e.g. XEmacs) that seem to be doing so successfully...

    Take the time to read the paper; it looks to be worthwhile...
    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  61. Re:They mandate Python!? by Sloppy · · Score: 1

    Ok, they had me up until the bit about having to build the tools in python.

    Who care if it makes sense? They're paying. I've been using an inappropriate language (required by non-technies) for 13 years, but the paychecks just keep coming. :-)

    It's like programming for Windoze. Even if the platform doesn't make sense for the application, that's what the customer has. If the first words out of your mouth are, "Ok, first of all, we need to get you a modern computer," then the job will go to someone else.


    ---
    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  62. Re:Obvious question: why? by crush · · Score: 1

    why do they want to replace the tools in question?

    Cynical answer: Licensing? make and autoconf being the backbone of a lot of what we do and also being GPL'ed. Their license is not going to be GPL, its going to be MIT-X style.

    why not just extend them as appropriate?

    Agreed, a good GUI would do the trick for a lot of people. If the intent of this really is to improve functionality though, I am suspicious that radio-buttons would really achieve this.

    I read the link pretty quickly...is this the DOE funding it? It looks like it. Does anyone know of any govt issues with GPL'ed software?

  63. Re:Should we move away from the file system paradi by hcsiii · · Score: 1

    This is a response to your comments about a 'database' based compilation system. The ReiserFS filesystem, which has been in the /. news lately due to its support for journaling, is designed for handling a multiplicity of small files/large directories efficiently. The FS creator, Hans Reiser, is trying to move the filesystem in the direction of being able to replace your 'database' without any loss of functionality or speed, and without sacrificing readability.

    Check out his future plans on his site. Don't have URL handy, sorry.

    --
    Howard C. Shaw III Grum
  64. Re:Freedom (unless you're not like us)? by LetterRip · · Score: 1

    They are actually throwing (mostly) US taxpayer money at the project, there contibution runs about 40% for the initial design, and about 5% for the total project. The rest is through government grants according to their web page..

    LetterRip

  65. Re:They have got to be kidding... by ademko · · Score: 1

    autoconf and automake are hideous.

    I'm not a dumb guy. I've bee coding for various platforms and languages for many years, and always enjoy playing with new technology and software. But next to sendmail configuration files, autoconf/make seem to be created by the devil himself. I've never seen such an orgy of scripts, binaries and m4 working to create makefiles that take way to long to comprehend and debug. It shouldn't be this complex and bloated.

    make, by itself, is perfect as a build tool. What I do like is the way glib/gtk+/gnome/libxml and other tools provide you with a -config script to which you can use backticks in your compile lines (eg. CFLAGS = `gtk-config --cflags`).

    glib (not to be confused by glibc), also provides many safe routines (ie. better sprintf()) and utility functions we all could use and have probably made for ourselves. It also guarantees the existence of various core functions, by simply either being an alias for the system function, or if it doesn't exist, providing an implementation. Thus instead of targeting UNICEs, I assume the target platform has ANSI C (or C++) plus glib and any other libs I need. No need to worry if it's strings.g or string.h, or if there's a strdup().

    Thus, it is my humble opinion that autoconf and friends should be replaced by simple make, *-config scripts and glib (or some other common library).

  66. Re:Source or everything; keeping temporary data by Another+MacHack · · Score: 1
    Now, the second issue is a bit different. You talk about storing intermediate data, such as parse trees. An extension to the "everything under revision control" method. What benefit does this get you? If the source has changed, you are going to have to rebuild the output anyway. If the original has not changed, you can just use the object file from revision control. What is the point?

    Oh man, I wish I had the references handy, but there are a couple algorithms for incremental lexing and parsing, which run big-O(n) where n is the number of *modified* tokens in the input. If you keep intermediate representations around, you don't have to rebuild the entire parse tree just because you changed X *= 2; to X *= 3; in a 50,000 line source file.

  67. autoconf && make are useless to Python. by Russ+Nelson · · Score: 1

    Given that the solutions provided by autoconf and make aren't needed by Python programmers, *why* would you expect a Python programmer to want to scratch this itch?
    -russ

    --
    Don't piss off The Angry Economist
  68. Re:Obvious question: why? by Dogsbody · · Score: 1

    Similarly, make [...] needs a simple GUI front end for newbies more than it needs rewriting.

    See http://www.alphalink.com.au/~gnb/maketoo l/

    Disclaimer: I wrote it.

    --
    Dogsbody
  69. Blame the coder, not to language by Dreamweaver · · Score: 1

    I don't suppose you've considered the facts that:
    1) It's an Adobe product, which are all huge resource hogs to begin with.
    2) He's running win98 which is even worse about resources than Adobe? Friend of mine has to reboot his win98 box every few hours because it doesn't free memory after using it half the time with Any software.


    Dreamweaver

    --


    "If a man hasn't discovered something he will die for, he isn't fit to live" -- MLK, Jr.
  70. Where's source revision control? by guerby · · Score: 1

    I think it's a pretty important piece of software, I browsed the project site and saw CVS mentionned in a few places, but RC is not as a project contest item.

    Anyone with a rationale on this choice?

    1. Re:Where's source revision control? by gvwilson · · Score: 1

      Thank you for your posting. We chose not to tackle revision control in the first design competition because we felt it was too big a topic --- so far as we know, no-one has done something quite like this before, and we wanted a chance to test and tune the design competition process. There is a fuller discussion of this in the Software Carpentry FAQ (suggestions for additions always welcome).

      Thanks,
      Greg Wilson
      Software Carpentry Project Coordinator
      http://www.software-carpentry.com

  71. IDEs don't live long enough. by MetalHead · · Score: 1

    I'll add my two cents. As was recently pointed out on the info-cvs mailing list, IDEs have been *miserable* failures at providing any long term stability in build environments. They keep changing. Good old Makefiles and configure.in scripts just keep on going though. The last thing we need is yet another GUI front end to "make" and "autoconf" that stores its data in some un-archivable un-versionalble un-readable un-editable un-common format. There's a reason make and autoconf have lasted so long. They work, and they work in a lot of inhospitable environments. One of the strengths of Open Source is that Open Source programs will usually compile and run on a lot of different platforms. Any replacement for make or autoconf would have to run on just as many platforms to be as successful, and would consequently have just as many warts as make or autoconf. Sure they are not the prettiest, or easiest things to use for a beginner, but they work, and do what they were intended to do, and they stand the test of time. This proposal strikes me as changing things just to be changing things, without giving anything specific about the presumed "problems" with "make" and "autoconf" that are to be addressed by these proposed new tools. (well, I still write my own troff macros, so maybe I'm just incurably old-school.)

    --
    Bang the head that doesn't bang!
  72. Re:They mandate Python!? by carbon · · Score: 1

    Sorry, but I think this has alot more to do with how the program was written (and what it is doing) that the fact that it was written in C++.

    Now, Java on the other hand :)

  73. Throwing money? by marhar · · Score: 1
    Here's a company willing to throw money at open source development and they get blasted.


    Actually, they're willing to throw other people's mone at it... It's being funded by a government grant, right?

  74. Re:They mandate Python!? by aeonek · · Score: 1

    WTF has this to do with C++?? Do you suggest that Adobe rewrite Premiere in Python??

    --
    "Bernoulli was wrong. X proves that you can fill a vacuum, yet still it sucks." - Dennis Ritchie
  75. Re:Another point of view by aeonek · · Score: 1

    So write a new interface, not a new tool.

    --
    "Bernoulli was wrong. X proves that you can fill a vacuum, yet still it sucks." - Dennis Ritchie
  76. Re:Obvious question: why? by cananian · · Score: 1

    I think you really answered your own question.
    The problem with replacing autoconf or make
    is that they're both "mostly there". Everyone
    tends to put up with their limitations when
    confronted with some of their inadequacies,
    because it seems to be such a hurdle to
    start from scratch. If you buy the 'more scriptable' argument behind the contest, it
    makes *perfect* sense to offer money for these -- there's no way anyone would ever think about reinventing autoconf or make any other way,
    and they're simply never going to get the amount
    of portable scriptability that source carpentry
    would like to see in them without starting
    from scratch.

    --
    [ /. is too noisy already -- who needs a .sig? ]
  77. Re:There are lots of make replacements... by cananian · · Score: 1
    If there's a missing requirement in the rules of the contest, it's the lack of a migration path from make. Without that, you just have an interesting toy, because no one will move their existing significant system without it.

    ...but presumably the contest judges will recognize and reward solutions which offer said upgrade path...

    --
    [ /. is too noisy already -- who needs a .sig? ]
  78. Re:Yes, you are Incorrect on several points by JordanH · · Score: 1
    • In fact, it flunks the tests for every category of 501(c)(3) organization, as laid out by IRS examiners.

      What's more, it is organized specifically to engage in an activity normally carried out by for-profit businesses. Ask any IRS examiner: this is not allowed.

    Well, I guess we'd have to defer to the IRS examiners who review the FSF's submissions every year and qualify them as a 501(c)(3).

    Developing a large body of software to help the citizen's of the US (and the world) through software reuse is a scientific and an educational endeavor. Certainly, the FSF software has greatly aided education by providing high quality free software for education and research.

    As to CTC being a FFRDC, CTC takes a number of commercial clients so I'm not sure they qualify.


    -Jordan Henderson

  79. Re:Wrong license, I'm afraid by JordanH · · Score: 1

    Some things I see I missed in the last post.

    • Yes, let's look at this. BeOS? Hmm.... They use GCC. BSD UNIX? Also GCC.

    Yes, well, before GCC there was NO market for independent OS vendors who didn't also supply a compiler. Before GCC, it was pretty much the case that only the hardware vendors could capitalize both an OS and compiler development. This lead to a fractured, non interoperable, marketplace because the hardware/OS vendors were only interested into locking you in to their brands. Today, the situation is rather better, I think.

    Sure, GCC may have hurt some compiler vendors, but those businesses were always fairly marginal anyway.

    This is an analog to what I think you'll be seeing with Linux. As the basic tools become more available and commoditized, software vendors can concentrate on applications, contract programming and support.

    • Not just by "giving back" -- that's commonly done under other licenses such as the MIT X and BSD licenses.

    Sometimes it's done, sometimes it's not. Hey, companies sometimes release commercial wares into the public domain. You can depend on the kindness of strangers if you want.

    • Rather, the GPL demands that the author give up any prospect of licensing his or her work for money. He or she must give the code not only to the original developers but to everyone for free.

    The GPL only demands this of an author who uses GPL'd works. If you want to license for fee, don't use GPL'd works. That's not onerous. Most commercial source licensing is the same. You aren't allowed to modify the SAP code you're provided with their source license and sell the result.

    • This is an onerous requirement which, as Richard Stallman himself states, is designed to reduce programmers' salaries and compromise their livelihoods.

    Where does RMS state that the GPL "is designed to reduce programmer's salaries and compromise their livelihoods."?

    I've seen him state that it may have that effect, but I don't think you'll be able to back up your claim that this is what it was designed to do.

    Even in the face of the ever increasing popularity of GPL'd software, programmer's salaries have been soaring. Maybe creating markets (like for BSD UNIX and BeOS) has been a good thing for programmers livelihoods?


    -Jordan Henderson

  80. Re:The Birth of the GPL (from Stallman himself) by JordanH · · Score: 1
    • Dead wrong. The GPL prevents the reuse of code by those who could most benefit (and benefit others!) by reusing it. The GPL's game of "keep-away" from commercial programmers is more than nasty and spiteful; it's destructive.

    Those same programmers will just lock up their own modifications and prevent further reuse.

    The accretive nature of the GPL is evident. GCC, Linux and a number of other sources indicates that the GPL has caused considerable reuse, and end users have benefitted. Whether it's the OS vendors that build OSs using GCC or it's the many many businesses using Linux productively today, the proof is there to be seen.

    The focus of the software industry is all wrong when people consider that those who should benefit the most in the industry are the programmers and not the end users. This is how we've gotten to into the pitiable position where we spend more and more on IT and have less to show for it in terms of real productivity. All of our money is wasted rewarding people for reinventing wheels while the building of good carts is being ignored.


    -Jordan Henderson

  81. Re:Yes, you are Incorrect on several points by JordanH · · Score: 1
    • It's clear that you are labeling entities as "charitable" that do not perform any charitable function whatsoever.

    It's not me who is labeling these organizations as charities. It's the IRS. You have to apply for and receive 501(c)(3) status. Mitretek, one of the 501(c)(3) corporations that spawned from Mitre does considerable consulting for the IRS. It would think that they would understand very clearly their roles and responsibilities under the tax codes.

    • What's more, the Internal Revenue Code explicitly states that a tax-exempt charity may only derive a small percentage of its income from activities unrelated to its charitable purpose, and that all of this income must support activities which are charitable. The FSF does not meet either of these qualifications.

    Chapter and verse, please. I've produced a number of examples to refute your claim that a 501(c)(3) must only engage in non-competitive "charitable" purposes. I'd like to see some substantiation of your claims.

    I believe that a non-profit only has to engage in the work that it was chartered to perform. "Charitable" is broadly defined by the IRS as being non-profit work that meets their charter. The FSF meets these qualifications.

    If this is not the case, how does Mitre qualify for it's 501(c)(3) status performing C3I for the military?


    -Jordan Henderson

  82. Language Standardization Issues by CTalkobt · · Score: 1

    This brings up the whole issue of there being too many computer languages in general. Python I've never learned so I don't know if it's suitable for the task or not but when last looking for some graphics / net language for programming I was swamped by everything that was out there. It'd be nice to have one language with extensions that are reasonable, and understandable. ( I know - languages like this probably exist - but how _reasonable_ are they? How understandable are they? )

    --
    There's a gorilla from Manilla whose a fella that stinks of vanilla and has salmonella.
    1. Re:Language Standardization Issues by Daniel · · Score: 2

      Arbitrary inserts and deletes may be O(N), but lookups and appends are O(1). I wouldn't consider this to exactly be a case of 'sacrificing power', although you might prefer real lists (actually, I would probably, and car and cdr and a real lambda, but anyway..)

      Aside from that, did you read my post? I said that it would be a good idea to write the dependency-collection code in a C module. But I can definitely see the advantages for writing a large part of the code in Python.

      Daniel

      --
      Hurry up and jump on the individualist bandwagon!
    2. Re:Language Standardization Issues by Daniel · · Score: 2

      It'd be nice to have one language with extensions that are reasonable, and understandable.

      Well, there's Python :-) Seriously, I believe that is one of its design goals, and having learned it I can say that it is (a) very easy to learn without sacrificing power (aside from the flexibility/speed tradeoff you make with an interpreted language, but that's not really a power issue persay; you could even say it's more powerful for some things), and (b) highly extensible -- everything is provided via objects and modules, and I mean *everything* -- files and strings are objects, all routines for string manipulation, regex searching, and so on, are in modules, etc.

      Of course, the only thing I use it for these days is writing automatic mailhandlers (it has excellent mail-parsing facilities) -- mainly because I don't run into much stuff where I need Python's capabilities. Go figure :)

      Daniel

      PS - while Python is nice, many computer languages is a **GOOD THING**. Having a language that more closely models the problem -- for example, being able to use a functional language like Lisp or ML -- makes things a lot simpler and faster. More languages means more choices. End rant. :)

      --
      Hurry up and jump on the individualist bandwagon!
  83. Re:They have got to be kidding... by otuz · · Score: 1

    Replace autoconf?
    Replace make?????

    These are robust, time-tested tools for creating software. If a better way existed to manage projects we (programmers in general) would probably have it by now.


    I see these "good enough" -opinions as a part of the problem.. Of course anything can be improved and still be both forward- and backwards-compatible. I haven't seen a piece of software that couldn't be better in some way.

    I was just recently a member of a team that converted a very large project from Microsoft's hideous Visual Studio project (.dsp) files to autoconf, automake, and make. Why was this done? Because it's easier to use, more flexible (try telling MSVC to run lex and yacc and then compile the output files, using only .dsp files! HA!), and opens the program up to porting to other platforms.

    Please don't compare your tools to the worst ones. Of course they look great that way, but it would be nice to see some piece of OSS as (real) state of the art (not just good enough to beat some crappy windoze shit).

    Now on the other hand, if all "Software Carpentry" wants is versions of autoconf and make ported to python, well, I guess it's not that silly, but why would you want to do that? The source code for these programs is extremely portable already. Implementing them in Python gains you nothing.

    Maximum portability is always good.


  84. Why not python? by otuz · · Score: 1

    Maybe it's not too bad to standardize on a scripting language.

    Python is one of the most portable scripting languages around ant it's easier and faster to optimize the intepreter's code than to rewrite or port the script/program itself.

    <SPECULATION>
    If the rumors about Crusoe turns out to be true, you could hack (insert your favourite scripting language) intepreter on the chip, replacing the (standard?) x86 emulator?
    </SPECULATION>


  85. Re:Replace Windows Stuff by otuz · · Score: 1
    There has to be some stuff that could replace these crappy window programs, have a competition for that!


    How about doing something new?

    I've seen too many bad X11 Apps, which are only (trying to be) clones of really sucking windoze products. (KDE & Gnome suites etc.)

    IMO it's a shame that most X11 stuff is even slower than most Windoze stuff.. Optimize that code, ppl! X11 needs to be rethought at some point too.

  86. Re:Blatant Python Promotion? by Brian+Marick · · Score: 1

    "Speaking of which, I wish they would disclose whether (and how much) the judges are paid."

    I'm a judge. I'm not paid anything.

    I'm a judge of the testing tool, which I hope doesn't cause as much excitement as make. For the record, I think JUnit, expect, and dejaGNU are all wonderful things. I agreed to be a judge not out of any disrespect to their authors. To me, Kent Beck / Erich Gamma in particular are way up there in the pantheon. JUnit, Extreme Programming, and all that are the most exciting things to have happened to testing in quite a while.

    If someone comes up with a better extension or replacement, the testing world will be better off. If not, it will get ignored, with little or no harm done.

    JUnit doc: http://members.pingnet.ch/gamma/junit.htm
    JUnit source: http://www.xprogramming.com/software.htm
    Extreme Programming: http://www.xprogramming.com/

    Python Promotion: I think it's important that tools have a good scripting language. I think using the same one across a suite of related tools is a win. I prefer Python to Perl or TCL (and Lisp to Python). But I probably would have been a judge even if the language were Perl, and I'm sure my Python bias was unknown when I was asked to be a judge.

  87. Re:There are lots of make replacements... by Butt · · Score: 1

    At worst, it will divert some free software talents towards enhancing and maintaining a little used set of alternative tools, rather than enhancing the tools used by the rest of the community. Most likely, someone will have wasted US$200.000.

    This "diverting talent" line really is bullshit.

    Look, under the classic OSS model, community recognition, the greater good and sense of personal achievement is enough. Under OSS dogma, the fact that some tools are used by the rest of the community is going to keep those OSS-commited individuals working on those tools.

    If people want to enter a competition to replace those tools, then surely, as far as they are concerned, those tools don't have enough promise/investment to retain their attention.

    Or have I missed something?

    Danny

  88. Re:Is this the best way to invest $100k in Linux? by foof · · Score: 1

    It encourages secrecy and non-cooperation between the various people working on projects like this. That transforms the usual model for OpenSource development from web-based cooperation into commercial competition.

    This is a design competition. It's not an open source issue because there is no source involved until the competition is over. At that point the best design is chosen, and becomes an open source project. Since no code is ever hidden, I see no problem with the design being done in private, since most open source programs start out as personal projects, and are not designed from their conception in an open source process.

    It doesn't encourage the best people to do the work because they'll say to themselves "I could work for six months on this - and then lose the competition and get nothing". Since they have already fostered a competitive model, that's a bad thing.

    It might encourage the best people if, say, they were particularly annoyed with one of the current programs. I couldn't live without make, but partly because I find it so useful, I am especially aware of its limitations, and am tantalized by the idea of a better make.

    Also, some people may be willing to take risks on this sort of thing, especially if companies start creating more competitions. I am leaving my current job as a programmer soon, and (for many reasons) will never again work on closed source software. But if there were enough projects of this kind available at differing levels, I could see myself as a sort of software bounty hunter.

    The wording of the competition seems to prohibit developers from doing the rational thing which is to start with the best parts of the existing autoconf/make system and just fix whatever is perceived to be broken. Even worse, the people who might have been working on improving those projects are now dragged off to start again from scratch.

    They're looking for new designs, which means they want you to look outside the box. Perhaps for one or all of these programs that doesn't need to be done, and the best solution is to improve the existing tool, but you can't know that ahead of time, and it would be hard to judge someone who created their own design against someone who modifed an existing design anyway.

    Putting money into OpenSource teams has to be done with great care since it can often result in serious internal debates about who contributed most and who deserves what share of the money.

    Putting money into anything has to be done with care, and people will always fight over it. But if you can't come to an agreement with the people you're working with, you probably shouldn't be working with them.

    It would have been much better if this company had hired a good programmer for a year or two and had them work on 'fixing' whatever it is that they dislike in autoconf/make.

    Apart from the fact that they're looking for new designs rather than just 'fixing' something, one of the points of open source is that hiring someone to do something doesn't always get the best results. Offering the money to anyone who's interested is more likely to attract someone who really is interested and get a great program.

    Failing that, break the money up into $20k 'grants' and offer them to people who are already working in the right direction.

    This is a good idea, but doesn't encourage people who aren't already involved in something to get into it.

    This competition is A Bad Thing.
    I think this competition is A Good Thing, and I hope there are more like it in the future.

    --
    foof

  89. Blatant Python Promotion? by fv · · Score: 1
    This contest was posted on LWN last week and I exchanged several emails with Greg Wilson (project coordinator and Las Alamos Python teacher) regarding the requirement that entries be implemented in Python.

    I argued that C, C++, or Perl might be more appropriate depending on the performance (and other) requirements of the application. I think the developer who dreamed up the application should decide what language is best suited for the given task. It should not be dictated in advance based on the founder's pet language.

    Unfortunately it seems that Python promotion is the primary goal of the project, even though their $860,000 government grant is supposed to be used for creating new open source development tools.

    Is it any surprise that Greg recently chose Guido van Rossum (Python author) as one of the judges? Speaking of which, I wish they would disclose whether (and how much) the judges are paid.

    Don't get me wrong, I have nothing against Python. It is a wonderful language. And if the competition $$$ was raised from Python users' groups, I would be cheering them on. My problem is that they appear to be using $860K tax dollars to support Python even though the grant was for a completely different purpose.

    Sure, some of you may be thinking that spending tax money to promote Python is not so bad. But imagine if they were spending your tax dollars to promote another language -- like Visual Basic!

    I urge them to drop the biases and let the developers choose the most appropriate language. And may be best program win!

    -Fyodor (fyodor@insecure.org)
    Try the free Nmap Security Scanner: http://www.insecure.org/nmap/

  90. Re:No way you are getting away with that! by Brett+Glass · · Score: 1
    As for political propaganda - well, I guess it forces you to redistribute the source, which can empower those who normally wouldn't have it, but apart from that I don't know what you are talking about.

    In that case, you have never read the GPL and should not be commenting on it.

    The GPL requires that it -- including the manifesto which it euphemistically calls a "preamble" -- be attached whenever the code is distributed. As Bruce Perens states, this is a political statement which many justifiably feel is inappropriate to attach to their work.

    --Brett Glass

  91. Re:Yes, you are Incorrect on several points by Brett+Glass · · Score: 1
    Well, I guess we'd have to defer to the IRS examiners who review the FSF's submissions every year and qualify them as a 501(c)(3).

    Actually, they don't review them thoroughly every year. After about 5 years, reviews are only triggered if the IRS sees an egregious violation of the rules (e.g. excessive unrelated business income). This is as per an examiner I interviewed just yesterday as a result of this discussion.

    Developing a large body of software to help the citizen's of the US (and the world) through software reuse is a scientific and an educational endeavor.

    According to the examiner, a "scientific" organization must be doing bona fide new research, preferably Federally funded and resulting in articles in respected scientific journals. The FSF does not. Its work consists almost exclusively of REimplementing commercial products so as to undercut for-profit companies. It makes no new scientific discoveries, publishes no articles in refereed journals, and does not allow the fruits of its work to be used by everyone. (Commercial software developers cannot feasibly use GPLed code.)

    It likewise does not qualify as an educational institution. According to the IRS examiner to whom I spoke, an educational institution must have a curriculum and classes. In most cases, it must grant some form of credential -- such as diplomas, credit, or degrees. And it should be credentialed or accredited itself. The FSF doesn't qualify.

    Certainly, the FSF software has greatly aided education by providing high quality free software for education and research.

    The FSF doesn't exist exclusively to serve educational or research institutions and does not limit its benefits to them. So, again, it cannot be considered to be an educational or research institution.

    The FSF's Web site also hints at other factors which disqualify it.

    I invite you to ask the IRS itself about this rather than taking my word: The FSF does not qualify as a bona fide 501(c)(3).

    --Brett Glass

  92. Re:Wrong license, I'm afraid by Brett+Glass · · Score: 1
    Perhaps libeled is a bit strong. You do see RMS alternately called a communist, a Svengali a fraud and a number of other things. He generally is not criticized in a way that could legally be termed libel.

    None of the labels you mention is entirely off base. His writings definitely do borrow rhetorical techniques and concepts from those of Marxism. I don't know about "Svengali," but there is some legitimacy to the claims that he is a fraud. I personally believe that the FSF's 501(c)(3) tax exemption was obtained fraudulently, because the purpose of the FSF is (and always has been) to compete directly with for-profit businesses. This is not allowed, and since he intended to do this from the start, it may well be that he could be accused of defrauding the IRS.

    Let's see, every single OS vendor has a compiler suite which they heavily support.

    Yes, let's look at this. BeOS? Hmm.... They use GCC. BSD UNIX? Also GCC. In fact, GCC has usurped virtually all of the compiler business except for a few embedded niches and Microsoft Windows. It has done this via predatory pricing -- an explicitly intended activity of the FSF. Why is this any more justified than Microsoft "cutting off Netscape's air supply?" The answer: It's not.

    The GPL is shorter than most EULAs

    Actually, the preamble of the GPL by itself -- which is essentially a manifesto designed to "come along for the ride" with all software encumbered by the GPL -- is longer than most EULAs.

    ...and it only really places one restriction on the code; You can't take advantage of this community work unless you are willing to participate in the community by giving back.

    Not just by "giving back" -- that's commonly done under other licenses such as the MIT X and BSD licenses. Rather, the GPL demands that the author give up any prospect of licensing his or her work for money. He or she must give the code not only to the original developers but to everyone for free. This is an onerous requirement which, as Richard Stallman himself states, is designed to reduce programmers' salaries and compromise their livelihoods.

    The GPL is far less restrictive than any commercial license with which I'm familiar.

    Not true. I can pay a fee to license a commercial, royalty-free software library and use it in my work without being forced to compromise my livelihood as a programmer.

    [RMS] unfairly gets called all kinds of names.

    From what I have observed, what you call name calling is usually very justifiable and deserved criticism. I have rarely, if ever, seen RMS "called names" for no reason.

    A reasoned discussion of issues of various "free" licenses is met with "RMS isn't God, GNU isn't a religion and the FSF isn't a bunch of prophets." and absolutely no substantive arguments

    RMS's discussion of such licenses isn't reasoned. It's demagoguery which is designed to deceive and to hide his true intent.

    and Stallman's agenda is one of spite and malice?

    Absolutely. Check your history. It is historical fact, verifiable from RMS's own writings and from his remarks in public and in print, that the GPL was conceived as an instrument of spite against Symbolics -- a commercial spinoff of the MIT AI Lab. And all other companies of its ilk.

    --Brett Glass

  93. The Birth of the GPL (from Stallman himself) by Brett+Glass · · Score: 1
    Where does RMS state that the GPL "is designed to reduce programmer's salaries and compromise their livelihoods."?

    Here:

    "For more than ten years, many of the world's best programmers worked at the Artificial Intelligence Lab for far less money than they could have had anywhere else. They got many kinds of non-monetary rewards: fame and appreciation, for example. And creativity is also fun, a reward in itself.

    Then most of them left when offered a chance to do the same interesting work for a lot of money.

    What the facts show is that people will program for reasons other than riches; but if given a chance to make a lot of money as well, they will come to expect and demand it. Low-paying organizations do poorly in competition with high-paying ones, but they do not have to do badly if the high-paying ones are banned." --Richard Stallman, The GNU Manifesto

    This passage shows Richard's angry response to the formation of Symbolics. Richard characterizes the new company as if it were Nirvana for his departing colleagues: all of the fun and interesting work of the AI Lab, but with decent pay, too! Yet Richard, a creature of academia, really could not come along. Angry and spiteful, he begrudged his colleagues their good fortune. He literally advocated "banning" higher pay for programmers than they could get in academia. He vowed revenge not only on Symbolics, but on all commercial ventures of its kind.

    Thus, the GPL was born.

    --Brett Glass

    1. Re:The Birth of the GPL (from Stallman himself) by Brett+Glass · · Score: 1
      The Holy Grail of Software Engineering for 40 years has been reuse, reuse, reuse. These artificial scarcities have served to make software reuse very spotty and poorly practiced. The GPL is the only license that enforces a discipline of software reuse.

      Dead wrong. The GPL prevents the reuse of code by those who could most benefit (and benefit others!) by reusing it. The GPL's game of "keep-away" from commercial programmers is more than nasty and spiteful; it's destructive.

      --Brett Glass

    2. Re:The Birth of the GPL (from Stallman himself) by JordanH · · Score: 2
      I don't think you've substantiated your claim with that one passage from the GNU Manifesto.

      Your claim was that the GPL was designed to lower programmer's salaries.

      The section that you quoted is in response to the anticipated question "Won't everyone stop programming without a monetary incentive."

      In the answer, RMS says that won't happen (and in fact he's been proven correct by Linux) and then goes on to posit how the existence of this large body of software will reduce the incentive for people to produce non-free software, with which they could probably make more money.

      This is just a recognition that you can make more money from producing something that is scarce versus producing something that is freely available. People who object to the GPL often seem to enjoy promoting an artificial scarcity to forward themselves.

      The Holy Grail of Software Engineering for 40 years has been reuse, reuse, reuse. These artificial scarcities have served to make software reuse very spotty and poorly practiced. The GPL is the only license that enforces a discipline of software reuse. This is a good thing.

      As I said, RMS saw that as an effect of the GPL, not as a guiding principle. If it had been, it would have been up front in the Manifesto per se, and not in the anticipated objections section.

      Look, I don't agree with RMS on everything. His redefinition of the term "free" is not really completely reasonable. He has an unjustified utopian view about a post-scarcity world. I also don't agree that the wide adoption of GPL'd software will mean less pay for programmers. Most of the remuneration for programming I've received is for maintenance work or pay for specific modification that would typically not be available in public sources. The GPL only serves to increase the opportunities for pay for this type of work.

      But, I find RMS's opinions reasoned. I find his detractors hysterical. For example, you said that it's not far off the mark to call RMS a communist. A communist wouldn't say:

      • "
      • There is nothing wrong with wanting pay for work, or seeking to maximize one's income, as long as one does not use means that are destructive."

      As RMS states in his GNU Manifesto. Somehow, RMS protestations and plain statements that show he is not a "Communist" are always ignored.


      -Jordan Henderson

  94. Making programming easier by Brett+Glass · · Score: 1
    What's wrong with a bit of Marxism, anyway? It sure makes programmming easier - which is what I care about.

    No, it makes programming much harder by imposing a long, complex, baroque, restrictive license -- loaded with political baggage -- upon the code. The GPL is to open source software what Soviet Communism was to socialism -- a scheme which claimed to be idealistic but in fact had much more base motivations. Want programming to be easier? Want to see the state of the art advance? Use an open source license that makes the source truly available for reuse by all with virtually no strings attached. The GPL is not that license.

    Glad to see someone is watching out for the poor IRS!

    I'm not just watching out for the IRS; I'm watching out for anyone who pays taxes or contributes to United Way. By dubbing itself a "charity," the FSF has extracted money both from the taxpayers and from people who believed they were making donations to truly charitable causes. The FSF is not a charity, since it does not reserve its work for those in need and because its primary purpose is to compete directly with for-profit businesses.

    --Brett Glass

    1. Re:Making programming easier by Brett+Glass · · Score: 1
      Sure I want to see "the state of the art advance" - and I want to see the code.

      Then look at FreeBSD and OpenBSD.

      --Brett Glass

    2. Re:Making programming easier by Dacta · · Score: 2
      No, it makes programming much harder by imposing a long, complex, baroque, restrictive license -- loaded with political baggage -- upon the code. The GPL is to open source software what Soviet Communism was to socialism -- a scheme which claimed to be idealistic but in fact had much more base motivations. Want programming to be easier? Want to see the state of the art advance? Use an open source license that makes the source truly available for reuse by all with virtually no strings attached. The GPL is not that license.

      Sure I want to see "the state of the art advance" - and I want to see the code. With the GPL I can and will.

      I'm not just watching out for the IRS; I'm watching out for anyone who pays taxes or contributes to United Way. By dubbing itself a "charity," the FSF has extracted money both from the taxpayers and from people who believed they were making donations to truly charitable causes. The FSF is not a charity, since it does not reserve its work for those in need and because its primary purpose is to compete directly with for-profit businesses.

      LMAO! Somebody has a big chip on his shoulder!

  95. Incorrect on several points by Brett+Glass · · Score: 1
    Mitre (a 501(c)(3) corporation) submits competitive bids, and often wins, against other Defense contractors.

    Mitre is not a 501(c)(3) non-profit nor does it claim to be a charity. It is a "not-for-profit" corporation, which means that it attempts to avoid taxes by spending a sufficiently large amount of what it makes to avoid income tax. If you contributed money to Mitre (And who would?) your contribution would not be tax deductible.

    Another company that I'm familiar with, CTC (Concurrent Technology Corporation...

    Is likewise not a charity and does not claim to be.

    Better get your facts straight.

    --Brett Glass

  96. Re:Yes, you are Incorrect on several points by Brett+Glass · · Score: 1
    Arrogance and ignorance are a bad combination.

    Then what's your excuse?

    It's clear that you are labeling entities as "charitable" that do not perform any charitable function whatsoever.

    What's more, the Internal Revenue Code explicitly states that a tax-exempt charity may only derive a small percentage of its income from activities unrelated to its charitable purpose, and that all of this income must support activities which are charitable. The FSF does not meet either of these qualifications.

    --Brett Glass

  97. Re:Wrong license, I'm afraid by Brett+Glass · · Score: 1
    It's funny that with all of the libel that RMS takes for his stands,

    I have not seen RMS libeled. I have, however, seen legitimate criticism of his mean-spirited agenda, which is anti-commercial and anti-programmer.

    you never see RMS suggest that others who don't support the GPL should stop using GPL'd products.

    Of course not! This is because the use of his products helps to spread the "viral" GPL license. In fact, it is only because Linus, without fully understanding RMS's agenda, stamped the GPL onto Linux that Richard is now a public figure.

    Gcc comes to mind as something that has benefitted many in the Open Source "Community" who snipe at RMS, the FSF and the GPL.

    This shows the destructiveness of the GPL. While these people would very much prefer to use another tool, the predatory nature of the GPL has eliminated alternatives.

    Now we can see the philosophy of some of those who support other "free" licenses. They are factionalists.

    Not so. They differ with RMS, and with good reason. Stallman's agenda is one of spite and malice.

    The FSF and the GPL support Freedom in software.

    By tying it up with a multi-page license that's rife with legalese and places massive restrictions on its use. Yeah, right.

    The software is permitted to be used by anyone, even those who work against FSF goals.

    Not so. While many users (in particular, "end users") can use the software in the way that best suits their needs, programmers cannot. This is the purpose of the GPL: to transform open source from a public good into a weapon directed against those who engage in activities of which Richard Stallman does not approve.

    --Brett Glass

  98. Re:Yes, you are Incorrect on several points by Brett+Glass · · Score: 1
    It's not me who is labeling these organizations as charities. It's the IRS. You have to apply for and receive 501(c)(3) status.

    Again, you're showing your ignorance of tax law. Not all 501(c)(3) corporations are charities. Certain corporations which perform specific activities for the government, as specified by Congress, may also be classified as tax-exempt under 501(c)(3). But they're not charities; they merely qualify for a tax exemption under other provisions in that same part of the Tax Code.

    For information, see IRS Publication 557.

    --Brett Glass Mitretek, one of the 501(c)(3) corporations that spawned from Mitre does considerable consulting for the IRS. It would think that they would understand very clearly their roles and responsibilities under the tax codes. What's more, the Internal Revenue Code explicitly states that a tax-exempt charity may only derive a small percentage of its income from activities unrelated to its charitable purpose, and that all of this income must support activities which are charitable. The FSF does not meet either of these qualifications. Chapter and verse, please. I've produced a number of examples to refute your claim that a 501(c)(3) must only engage in non-competitive "charitable" purposes. I'd like to see some substantiation of your claims. I believe that a non-profit only has to engage in the work that it was chartered to perform. "Charitable" is broadly defined by the IRS as being non-profit work that meets their charter. The FSF meets these qualifications. If this is not the case, how does Mitre qualify for it's 501(c)(3) status performing C3I for the military?

  99. Exactly right. by Brett+Glass · · Score: 1
    Open source licensed under the BSD or MIT X licence cannot be "made proprietary." If someone creates a closed source or more restrictively licensed program using the code, it is only the new product which is restrictively licensed. And since the original code is still available to anyone for free, no one will buy the improved version unless the improvements are valuable. In short, any money that person makes from the resulting product will be the fruits of his or her own labor. That's fair.

    If someone who uses information gained at the public library to make money, we don't try to deprive that enterprising person of that money because he or she wisely used a public resource. The same is true of open source. Let's not fall into the GPL's mean-spirited trap of spite. If you're going to share software, share it for real, with no strings attached -- not halfheartedly or grudgingly.

    --Brett

  100. Re:Yes, you are Incorrect on several points by Brett+Glass · · Score: 1
    Bzzzt! While you quote some of the right texts, your bias leads you to a very wrong conclusion.

    The FSF is not charitable, because the development of software is not a recognized charitable activity. Also, its benefits are not reserved for those in need.

    It is not scientific, as it does not do research, publish papers, etc. In fact, it is devoted to implementing copies of existing works.

    It is not educational, as it is not accredited, awards no degrees, and has no curriculum or faculty.

    In fact, it flunks the tests for every category of 501(c)(3) organization, as laid out by IRS examiners.

    What's more, it is organized specifically to engage in an activity normally carried out by for-profit businesses. Ask any IRS examiner: this is not allowed.

    For these reasons, I stand by my belief that the FSF's claim to be eligible for 501(c)(3) status is bogus.

    --Brett Glass

  101. A proposal: don't replace autoconf; eliminate it by Brett+Glass · · Score: 1
    The reason why autoconf exists is that compiler libraries do a poor job of retaining portability between platforms.

    Ironically, Python and Perl are both far more portable than C and C++, for which autoconf was primarily designed, because the libraries do a better job of hiding platform dependencies.

    Perhaps the competition is barking up the wrong tree in this particular case. Don't get me wrong here; I'm all for liberating autoconf from the GPL. But it would be better still to get rid of it altogether. How about a contest whose goal is to create a standard set of library functions, APIs, and macros for Python, Perl, C, C++, Pascal, etc., that eliminate the need for autoconf?

    --Brett Glass

  102. Re:Yes, you are Incorrect on several points by Brett+Glass · · Score: 1
    Oh, and incidentally -- Mitre and CTC are both what's called FFRDC's -- Federally funded research and development corporations. This category of organization is considered to be eligible for 501(c)(3) status. The FSF is not.

    --Brett Glass

  103. Re:Which invalidates your arguement (again)! by Brett+Glass · · Score: 1
    That means that if a company wants to make some advance then with Linux they have to release the code (ignoring Binary Kernel Modules) while with *BSD they don't.

    Which means they have a strong disincentive to doing it. And the advance may be lost forever.

    --Brett Glass

  104. Makefile by Kamran · · Score: 1

    Make a new 'Makefile' which is easier to understand for us newbies to programming.

  105. Re:RTFM fool by Kamran · · Score: 1

    Maybe this certain fellow is clever enough not to give out his proper address, and get spammed.

    Also remember who the coward is.

  106. Replace Windows Stuff by neildogg · · Score: 1

    There has to be some stuff that could replace these crappy window programs, have a competition for that!

  107. Hmmn? by jallen02 · · Score: 1

    If I had 100K and wanted a task done.. I wouldnt make a blooming ocntest out of it. I would hire one or two Programmers with good C and *nix experience and have my software developed that way.. This is smelling of publicity.

  108. Re:Yeah, right... That's the point, actually by neko_ga_iru · · Score: 1

    You are engaging in faulty parallelism here. JFK's dream was antithetical to the Open Source movement. It was an appeal to the USAian notion of making things work. What about people outside of the US who would like to make things work or make things happen or bring things into existence or... The real gripe here is whether or not we should replace these fundamental utilities at all. They work just fine for me. Why replace them? Why have a competition to do this? If I think I could rewrite make or autoconf or add something to them I would contact the people in charge of those packages not have a competition to get people fired up to address perceived problems. If it ain't broke, don't fix it (as they say here in the South).

  109. Re:Yeah, right... That's the point, actually by RudeLove · · Score: 1

    The point behind it is - if you keep things at the level they're at just because "They work just fine for you", you're holding back possible advances that could take us far beyond where we're currently at. 386s worked fine, you don't see me using one - technology, both in hardware and in software has a NEED to progress and evolve. If we're not progressing, changing and adapting, we might as well be dead.

  110. Re:Wrong license, I'm afraid by dsueiro · · Score: 1
    It seems that I should have explained my point better.

    I know that software released under that license is free software ( and RMS set that clear ). However, I thought that people willing to contribute/take part of this contest should be warned that the code they submit might be made propietary by the organizer or someone else.

    Thus, I think that the MIT license might be good for releasing your own code, but IMO is wrong ( and that's the rational behind the subject of my post ) to make it obligatory in this sort of contest. They might have let the participant choose which license to release their code under, among some widely known free software ones, like X/MIT, BSD, GPL, Artistic License, etc. Of course, YMMV.

    Diego

  111. Wrong license, I'm afraid by dsueiro · · Score: 1
    From their site:

    The MIT License (also known as the "X License") is used for all technical material, include program source code, manual pages, and similar material.

    and

    The project therefore requires source code and other purely technical material to use the MIT License

    If you don't see any problem with that, just look at what RMS have to say about it.

    1. Re:Wrong license, I'm afraid by Arandir · · Score: 2

      "If you don't see any problem with that, just look at what RMS have to say about it."

      Why should anyone care what RMS thinks about someone else's project? Have we all lost the ability to think for ourselves?

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    2. Re:Wrong license, I'm afraid by Arandir · · Score: 2

      "The GPL is shorter than most EULAs, and it only really places one restriction on the code; You can't take advantage of this community work unless you are willing to participate in the community by giving back."

      Unfortunately, the legalese in the GPL creates some very problematic restrictions above and beyond "giving back" to the community. First of all, anything given back must also be GPL. Second, anything that dynamically links to a GPL library (remember, RMS doesn't want you to use the LGPL) must also be under the GPL, even if the code is 100% wholly your own.

      "The GPL is far less restrictive than any commercial license with which I'm familiar."

      So what? Khruschev was less restrictive than Stalin, but what difference does that make. However, a commercial license does have one huge advantage over the GPL: no commercial library that I am aware of tells the developer what license they must use.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    3. Re:Wrong license, I'm afraid by Arandir · · Score: 2

      "However, I thought that people willing to contribute/take part of this contest should be warned that the code they submit might be made propietary by the organizer or someone else."

      Of course we are aware of that! Do you think we are children unable to read the license for ourselves? We are adults and fully capable of deciding for ourselves what to do with our lives and our code.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    4. Re:Wrong license, I'm afraid by Arandir · · Score: 2

      No, I don't think it should all be BSD or MIT or whatever. You were making the argument that GPL was the single best license because of a single comparison with a bad license. It tried to illustrate the fallacious argument with an absurd comparison.

      People should use whatever license they choose. Hopefully they would choose a license appropriate for their projects. It's not much skin off my back if they choose something I don't agree with. It's their life and I'll let them run it. Even if the choose a commercial license. Even if they choose the GPL for a library.

      And as for the lack of chaffing under commercial licenses, re-read my post. No commercial license dictates what license you may or may not use.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    5. Re:Wrong license, I'm afraid by Arandir · · Score: 2

      I haven't used a huge variety of commercial libraries that include the source code, so I'll stick with one that everyone knows of, the MFC.

      I can write an MFC application and license it under **ANY** license I choose, including GPL, BSD or public domain and I can freely redistribute the MFC dll's. Compared to the GPL, the MFC license is much, much freer for me to *use* in the way that libraries are used.

      If a developer wishes to use the GPL for a library, then that is their right. But understand that by doing so, they deny the *use* of their library to everyone developing under a different license or using a non-GPL library.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    6. Re:Wrong license, I'm afraid by Arandir · · Score: 2

      "He didn't move for restrictive legislation..."

      But he did call for taxation on all software in order to fund free software. And he did call for the elimination of artistic rights.

      No other faction of Free Software, or even commercial and proprietary software, has the temerity to *demand* what other developers do with their software.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    7. Re:Wrong license, I'm afraid by Arandir · · Score: 2

      "Are you allowed to modify the MFC and redistribute it under ANY license?"

      No, which is why I prefer any Open Source license to Microsoft's EULA. However, there are many conditions where I am FREER with MFC than with a GPLd library. And one of these is a very common condition, that of writing an application.

      If Microsoft says "you can do A but not B" and GNU says "you can do B but not A", then there will be instances where the GPL will be the more restrictive license.

      "There is still the LGPL, whose use is discouraged by RMS, but is prefered by RMS to any other license, save the GPL, for libraries."

      The contendor for my biggest beef with the GPL is the restriction against dynamically linking to non-GPL code. RMS is just plain wrong on this issue. It is at this point that the GPL escapes the bounds of polite society and starts sticking its nose where it doesn't belong, namely, other people's code. And this isn't just some petty gripe. The very desktop that I am using has been declared *illegal* by Redhat.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    8. Re:Wrong license, I'm afraid by Abigail-II · · Score: 2
      If you don't see any problem with that, just look at what RMS have to say about it.

      RMS isn't God, GNU isn't a religion and the FSF isn't a bunch of prophets. We all know RMS is hardheaded, and only believes in himself. But many people have found out there are more ways leading to Rome. You might have an opinion about the choice of license, but just shouting "Wrong license", waving a political document written by someone else as "evidence" doesn't bring you far.

      If you don't like the license, don't participate. Don't use any of the products that might be created with this license. You might even write something better, and release that under your preferred license.

      Just don't act as a doomsday sayer.

      -- Abigail

    9. Re:Wrong license, I'm afraid by Abigail-II · · Score: 2
      However, I thought that people willing to contribute/take part of this contest should be warned that the code they submit might be made propietary by the organizer or someone else.

      This suggests worse things than can actually happen. While the X (or MIT) license allows you to relicense code for distribution, it doesn't allow you to strip off an existing license. What that means is that if I write code, and license it under the MIT license, you can take the code, possibly modify it, and distribute it under a license of your choice (GPL if you wish). But that doesn't mean I can no longer distribute my code under the MIT license. I don't lose rights. But I give you more rights than you would get had I distributed the code under GPL.

      You can take MIT licensed code, modify it, and distribute it as GPL coded. You can't do it the other way around. MIT licensed code allows you to do anything that GPL code allows you to do - and then some. It's not hard to figure out which gives you more freedom. I prefer MIT style licenses because I don't want to back up my preferences with legal actions.

      -- Abigail

    10. Re:Wrong license, I'm afraid by JordanH · · Score: 2
      • The contendor for my biggest beef with the GPL is the restriction against dynamically linking to non-GPL code.

      And, the LGPL doesn't have this problem. The LGPL also allows you to distribute modified source. So, if you find the GPL too restrictive for your libraries, how about the LGPL?

      • It is at this point that the GPL escapes the bounds of polite society and starts sticking its nose where it doesn't belong, namely, other people's code.

      I never hear this complaint about commercial licenses that generally completely disallow any modifications to the distributed (often binary) product whatsoever, even when such changes are for your use only. Aren't they saying what you can do with your code?

      If you feel the GPL "sticks its nose where it doesn't belong" there is an easy solution, Use no GPL code. You are no worse off than if the GPLd code had not been provided for your use.

      Heck, use the GPLd code to test against as you develop your own workalike code. I'm sure the FSF, unlike a lot of commercial licensors, would not involve itself in a look-and-feel lawsuit against you.

      • And this isn't just some petty gripe. The very desktop that I am using has been declared *illegal* by Redhat.

      So, it upsets you that you've run afoul of some licensing restriction. Seems like a petty gripe to me.

      I've often wanted to do things with commercial software that's not allowed by the license. For example, I often want to install it on more than one machine even if it's absolutely guaranteed that it will only be in use on one at a time, like a laptop that only I use and a desktop that only I use. The license prevents me from doing it. It's frustrating, but I knew it when I bought it that what the license allowed. Petty of me to complain about something to which I implicitly agreed by buying and then using the product.


      -Jordan Henderson

    11. Re:Wrong license, I'm afraid by JordanH · · Score: 2
      • "The GPL is far less restrictive than any commercial license with which I'm familiar."

        So what? Khruschev was less restrictive than Stalin, but what difference does that make. However, a commercial license does have one huge advantage over the GPL: no commercial library that I am aware of tells the developer what license they must use.

      So, I take it by your analogy that you feel that any restriction on a license is evil. I suppose you are suggesting that all software should be covered under a BSD license of something.

      I was addressing the point that the poster felt that the GPL places "massive restrictions" on you. I think the restrictions are pretty similar to those placed on you by commercial licenses, only less restrictive, yet you don't hear complaints about people chaffing under those.


      -Jordan Henderson

    12. Re:Wrong license, I'm afraid by JordanH · · Score: 2
      • None of the labels you mention is entirely off base. His writings definitely do borrow rhetorical techniques and concepts from those of Marxism. I don't know about "Svengali," but there is some legitimacy to the claims that he is a fraud. I personally believe that the FSF's 501(c)(3) tax exemption was obtained fraudulently, because the purpose of the FSF is (and always has been) to compete directly with for-profit businesses. This is not allowed, and since he intended to do this from the start, it may well be that he could be accused of defrauding the IRS.

      You seem big on throwing around unsubstantiated claims. Please cite the tax law where it is not allowed that 501(c)(3) corporations compete with for-profit entities.

      Mitre (a 501(c)(3) corporation) submits competitive bids, and often wins, against other Defense contractors. Another company that I'm familiar with, CTC (Concurrent Technology Corporation, a 501(c)(3) corporation), competes with for-profit companies to get various government contracts. Last I checked PBS (television) and NPR (radio) stations (all 501(c)(3)) compete with for-profit media.

      • Yes, let's look at this. BeOS? Hmm.... They use GCC. BSD UNIX? Also GCC. In fact, GCC has usurped virtually all of the compiler business except for a few embedded niches and Microsoft Windows. It has done this via predatory pricing -- an explicitly intended activity of the FSF. Why is this any more justified than Microsoft "cutting off Netscape's air supply?" The answer: It's not.

      Congratulations, you've found the one of the very few OS vendors that doesn't support their own compiler. I wonder if BeOS would even exist were it not for the great freely usable compiler technology?

      Your claim that gcc has eliminated all compilers except "a few embedded niches and Microsoft Windows" is bizaare. Sun, Compaq, IBM, SGI, and HP all have quite active compiler groups. Intel builds a compiler for their architectures. There never was much of a third party market for compilers before gcc, most compilers were provided by the OS/Hardware vendor and they still are.

      Gcc succeeds through "predatory pricing"? Another interesting claim. By this reasoning, I suppose ALL freeware should be stopped as being "predatory".

      In any case, predatory pricing is only illegal if it seeks to establish an illegal monopoly. Someone giving something away that continues to give away their product is not disallowed. If it were, we'd be shutting down the people who voluntarily clean the roadsides as being predatory against the businesses that do the same.

      • RMS's discussion of such licenses isn't reasoned. It's demagoguery which is designed to deceive and to hide his true intent.

      I'm still waiting to see some reason in rebuttal. Did you know that US Senate rules forbid the use of the word "Demagogue"? It's because it's an empty epithet that adds nothing to the discussion. RMS doesn't throw around labels and call that debate, unlike his detractors.

      • Absolutely. Check your history. It is historical fact, verifiable from RMS's own writings and from his remarks in public and in print, that the GPL was conceived as an instrument of spite against Symbolics -- a commercial spinoff of the MIT AI Lab. And all other companies of its ilk.

      I'm familiar with that history. So what? RMS saw what he considered an injustice and moved to correct it. He didn't move for restrictive legislation or just sit around and complain about it, he got to work in building something to correct an injustice. It's hardly a spite directed at Symbolics as it's not reasonable to assume that they would ever use GPL'd software. You might consider it spite against all who commit this, to RMS's thinking, wrong, but isn't that what correcting injustice is all about?

      Again, RMS's detractors characterize him with labels (spiteful, malicious) while not actually adding anything interesting to the discussion of ideas in which RMS engages.


      -Jordan Henderson

    13. Re:Wrong license, I'm afraid by JordanH · · Score: 2
      • And as for the lack of chaffing under commercial licenses, re-read my post. No commercial license dictates what license you may or may not use.

      You are wrong. Typically, when you have a commercial license that includes source (ala SAP) you are only allowed to use that source under the original license. That's dictating what license you may or may not use. You are not allowed to redistribute it at all.


      -Jordan Henderson

    14. Re:Wrong license, I'm afraid by JordanH · · Score: 2
      • I can write an MFC application and license it under **ANY** license I choose...

      Are you allowed to modify the MFC and redistribute it under ANY license?

      If not, it seems like the license you receive with the MFC is more restrictive, in a very important way, than the GPL.

      There is still the LGPL, whose use is discouraged by RMS, but is prefered by RMS to any other license, save the GPL, for libraries. The LGPL grants you, if I understand it correctly, the same freedom from restrictions that you enjoy with the license that comes with MFC.


      -Jordan Henderson

    15. Re:Wrong license, I'm afraid by JordanH · · Score: 2
      • RMS isn't God, GNU isn't a religion and the FSF isn't a bunch of prophets.

      The referenced page doesn't ask us to accept anything on faith. RMS doesn't support worship of him or any of his principles. RMS primarily makes reasoned arguments. You may disagree with those arguments, but if you were up to the challenge you'd use reason yourself.

      RMS tells us his view as to why other licenses, and specifically the X/MIT license can lead to problems. It's a pity his detractors have to bring up these tired cultist labels that actually serve to remove reason from the discussion.

      • If you don't like the license, don't participate. Don't use any of the products that might be created with this license.

      It's funny that with all of the libel that RMS takes for his stands, you never see RMS suggest that others who don't support the GPL should stop using GPL'd products. Gcc comes to mind as something that has benefitted many in the Open Source "Community" who snipe at RMS, the FSF and the GPL.

      Now we can see the philosophy of some of those who support other "free" licenses. They are factionalists. The FSF and the GPL support Freedom in software. The software is permitted to be used by anyone, even those who work against FSF goals.


      -Jordan Henderson

    16. Re:Wrong license, I'm afraid by JordanH · · Score: 2
      • I have not seen RMS libeled.

      Perhaps libeled is a bit strong. You do see RMS alternately called a communist, a Svengali a fraud and a number of other things. He generally is not criticized in a way that could legally be termed libel.

      • This shows the destructiveness of the GPL. While these people would very much prefer to use another tool, the predatory nature of the GPL has eliminated alternatives.

      An amazing claim. Let's see, every single OS vendor has a compiler suite which they heavily support. Most chip manufacturers have a compiler (Intel, Motorola, IBM) for their architecture. There are any number of companies that sell commercial compilers. There is lcc. Seems like there are many, many, many alternatives.

      Oh, you mean a good, free, cross architecture compiler that really works well?

      Since you make a speculation about a market that could have been had it not been dominated by that mean, destructive GPL'd gcc, allow me to me to make one. Intel, IBM, Compaq (and DEC), Motorola and probably any number of other companies spent a lot developing code generation for gcc. Had the GPL not tied their hands and required them to give these changes back, these companies almost certainly would have sold the modified compiler as a product. After all, each of these companies had their own compilers that they sold as products. Why would they give away their work on gcc had they not been forced to?

      Rather than gcc destroying the market for a good cross architecture compiler, it set up an environment where such a thing could thrive.

      Compilers (FORTRAN, Algol, Cobol) and free software both existed since the 1950s. It wasn't until a GPL'd compiler appeared that good, free, cross architecture compiler appeared.

      • By tying it up with a multi-page license that's rife with legalese and places massive restrictions on its use. Yeah, right.

      The GPL is shorter than most EULAs, and it only really places one restriction on the code; You can't take advantage of this community work unless you are willing to participate in the community by giving back. It may be more restrictive than the X/MIT or BSD licenses, but I don't see how you can reasonably call this a "massive restriction". The GPL is far less restrictive than any commercial license with which I'm familiar. What would you call commercial licensing? Tremendously restrictive? Unbelievably restrictive?

      • Not so. They differ with RMS, and with good reason. Stallman's agenda is one of spite and malice.

      Sure. He unfairly gets called all kinds of names. A reasoned discussion of issues of various "free" licenses is met with "RMS isn't God, GNU isn't a religion and the FSF isn't a bunch of prophets." and absolutely no substantive arguments and Stallman's agenda is one of spite and malice?

      • While many users (in particular, "end users") can use the software in the way that best suits their needs, programmers cannot. This is the purpose of the GPL: to transform open source from a public good into a weapon directed against those who engage in activities of which Richard Stallman does not approve.

      Another amazing claim. What public good could these Open Source programmers be considering that is not allowed by the GPL except to turn an Open Source product into a Closed Source product. Seems like any other kind of Open Source license allows programmers to transform open source from a public good into a private good. You speak of engaging in "activities" (plural), but really there's only one activity that GPL doesn't allow. That's benefitting from others work without giving back changes to the community that gave you your start.


      -Jordan Henderson

  112. Re:Is make too difficult? by renehollan · · Score: 1

    I've managed projects with a hierarchy of directories, and therefore, makefiles spawning make over other makefiles. While it works, it can get messy, particularly when you have to automatically keep track of build environment variables that should be different in different directories (i.e. turn on this level of debugging here, here, and THERE).You really want to keep such settings (with defaults on a global, per directory, and per-directory sub--hierarchy, as appropriate) outside of makefiles. That way, you can carry around custom-debug-enabling files separate from the rest of the build tree (ever say, "Heck, I'll start from scratch, but I wanna keep all the local overrides?). These "support" files then need to be included (often recursively up the directory tree) in the makefile as well as automatically generated, when there are no default overrides. Furthermore, as they change, things need to be rebuilt. Ergo: makefiles that have build dependencies on the very files they include. Ugh. You can do all this in GNU make. But, it gets really messy really fast. Regards, Rene S. Hollan

    --
    You could've hired me.
  113. Re:Is make too difficult? by renehollan · · Score: 1

    I've managed projects with a hierarchy of directories, and therefore, makefiles spawning make over other makefiles.

    While it works, it can get messy, particularly when you have to automatically keep track of build environment variables that should be different in different directories (i.e. turn on this level of debugging here, here, and THERE).You really want to keep such settings (with defaults on a global, per directory, and per-directory sub--hierarchy, as appropriate) outside of makefiles. That way, you can carry around custom-debug-enabling files separate from the rest of the build tree (ever say, "Heck, I'll start from scratch, but I wanna keep all the local overrides?).

    These "support" files then need to be included (often recursively up the directory tree) in the makefile as well as automatically generated, when there are no default overrides. Furthermore, as they change, things need to be rebuilt. Ergo: makefiles that have build dependencies on the very files they include. Ugh.

    You can do all this in GNU make. But, it gets really messy really fast.

    Regards,

    Rene S. Hollan

    --
    You could've hired me.
  114. Re:They mandate Python!? by monas · · Score: 1
    Hey, I wrote no line in Python (I'm perl fan), but I will try to participate in make competition. And I don't think they will force me to do lot in Python.

    "How?" Write your tools in whatever language, provide GENERAL interface for scripting (add comment - Python interface will be [user changeable] default) and you violate no rules [IMHO].

    "What do you have to improve in make?" Well, you will find this in competition pages when it will end up. :-) Or, if codesourcery won't make it public, - I will do personally. I'm not so fool to disclose ideas I had for several years with "no try" in competition. Especially when even minimal prize is 5 month of my salary worth (C'est la vie in ex-USSR).

    Do you believe in success? Yes, I do. And time will show how everything will happen.

  115. Re:Yeah, right... That's the point, actually by gvwilson · · Score: 1

    A note on Brento's comment about IPO'ing being the only way to get recognition: many recent IPO's had their start in Open Source projects (e.g. sendmail). We hope that this design competition will be a way for fresh talent to get recognition. Recognition leads to funding. Funding leads to rapid development. Rapid development leads to a public offering. Public offerings lead to --- hmm, perhaps best to stop there :-).

    Thanks,
    Greg Wilson
    Software Carpentry Project Coordinator
    http://www.software-carpentry.com

  116. Re:There are lots of make replacements... by gvwilson · · Score: 1

    Regarding the "missing requirement" of a migration path from make, entrants are free to make that a requirement --- part of the aim of the contest is to pool ideas, as well as effort. However, we don't believe that forward compatibility is an "absolute" requirement --- Java GUIs are not forward compatible with the C/C++ GUIs they are replacing, for example, and C was not forward compatible with any of its predecessors.

    Thanks for your posting,
    Greg Wilson
    Software Carpentry Project Coordinator
    http://www.software-carpentry.com

  117. Re:They mandate Python (from project coordinator) by gvwilson · · Score: 1

    Thanks for your posting --- our reasons for choosing Python are discussed in the project FAQ. In answer to your specific question (about why we didn't choose C or C++), these four tools are mostly concerned with text manipulation, process control, and database access, for which scripting languages (Python, Perl, etc.) are better-suited than stricter compiled languages (C++, Java, etc.).

    Thanks,
    Greg Wilson
    Software Carpentry Project Coordinator

  118. Re: Python (design, not coding!) by gvwilson · · Score: 1

    As a footnote to my earlier post, please note that this is a design competition, and not a coding competition. Implementation will eventually be done in Python, but at the level of a 5000-word design outline, most of today's high-level object-oriented languages (C++, Java, Python, Perl, etc.) are pretty much equivalent.

    Thanks,
    Greg Wilson
    http://www.software-carpentry.com

  119. Re:Obvious question: why? by gvwilson · · Score: 1

    Thanks for your posting. In answer to your first comment, no, this isn't a company --- as the project home page and FAQ explain, this is being funded by Los Alamos National Laboratory (because scientists and engineers need better software tools), and being administered by CodeSourcery, LLC (who believe that it will further the aims of the Open Source community).

    As for existing tools being "good enough", that's addressed in the FAQ as well (but yes, we did forget about sendmail, and will correct that).

    Finally, as for this being part of Guido's grand plan, he was not involved in the project in any way until after it had been launched --- in fact, he was the last-but-one addition to the list of judges.

    Thanks again for your posting,
    Greg Wilson
    http://www.software-carpentry.com

  120. Re:python restriction / educating developers by gvwilson · · Score: 1

    Thank you for your posting regarding the Software Carpentry design competition. In answer to your point about "educating new developers", please check out the project's white paper. That was the first thing we tried, but again and again we found that the "accidental complexity" of existing tools was getting in the way --- so much so that intelligent, highly-motivated scientists and engineers were choosing not to use the tools at all, rather than try to climb their unnecessarily-steep learning curves.

    Greg Wilson
    http://www.software-carpentry.com

  121. Re:Is this the best way (from project coordinator) by gvwilson · · Score: 1

    Thanks for your posting regarding the Software Carpentry design competition. To answer your first point, S.C. is not a company --- it is a project funded by Los Alamos National Laboratory (whose scientists and engineers need software tools that are easier to use), and administered by CodeSourcery, LLC (which believes that the project will further the aims of the Open Source movement).

    Your points about encouraging secrecy and non-cooperation are addressed in the FAQ. As for preventing people from fixing the things that are perceived to be broken in existing tools, that is certainly allowed --- we welcome designs based on existing software, as long as those designs include a scriptable Python interface. (I personally believe that a re-design that takes good ideas from several existing tools is more likely to win, but I'm not one of the judges...)

    Thanks again for your posting,
    Greg Wilson
    http://www.software-carpentry.com

  122. Re:Yeah, right... That's the point, actually by Anonymous Coward · · Score: 2

    Ten years ago, someone could have waved a hundred thousand dollar check in front of Linus's nose, and it wouldn't have got us to this point any faster.

    It wouldn't have gotten us to this point at all - Linus first wrote Linux because he couldn't afford anything else than Minix.

    Lack of money can be a good thing. (VERY unusual though. ;-)

  123. Another point of view by Anonymous Coward · · Score: 2

    Why fix something if it isn't broken?

    1. Re:Another point of view by Per+Abrahamsen · · Score: 2

      Minix was broken (not properly supporting 32 bit platforms), and not really fixable (the license only allowed distribution of fixes in form of patches).

    2. Re:Another point of view by Abigail-II · · Score: 2
      Why fix something if it isn't broken?

      I don't recall anyone saying to Linus Why are you fixing Minix? It ain't broken! Sometimes, you just want to find out whether you can do better then there already is.

      -- Abigail

    3. Re:Another point of view by Guy+Harris · · Score: 3
      So write a new interface, not a new tool.

      Perhaps the person to whom your responding meant that the interface intrinsic to the tool - i.e., the semantics of Makefiles - were "confusing and lame", and therefore that "writing a new interface" would mean "writing a new tool".

      Sometimes incremental improvement of existing tools merely involves moving closer to a local optimum in the solution space, and avoiding a better local optimum somewhere else in the solution space.

      That's why I think that this competition isn't ipso facto a bogus idea - perhaps people won't come up with something better, perhaps they'll come up with something that's a little better but not enough to supplant the existing tools (NOTE: the availability of the new tools does not mean the old tools will go away! It's not as if you won't still be able to use make and autoconf.), but perhaps they might come up with something that has an underlying model that's significantly better, so that the new tools are easier to use, or more powerful, or more powerful and easier to use (e.g., it may be easier to make use of the tools' power).

      No, I don't know offhand what such a tool might look like - but that in no way constitutes an indication that no such different-and-better tool is impossible.

  124. A fine non-copyleft free software license by Per+Abrahamsen · · Score: 2

    RMS doesn't slam the MIT X license in particular, he is advocating the benefits of copylefts. If you don't want a copyleft, the MIT X license is fine. I believe he described it as "a simple non-copyleft free software license with no particular problems" at one point.

  125. Re:There are lots of make replacements... by Per+Abrahamsen · · Score: 2

    I don't see the relevance of motivation for a postulated "classic OSS model" in a project where US$200.000 will be invested in development.

    What can happen is that the new utilities are anough of an improvement for some project to switch to, but that the wast majority will stick to the existing well known tools, since they are "good enough" and most developers already know them. This means that the programmers most likely to improve the existing tools will use something entirely different instead for their projects, so the majority will end up with worse tools than they would without this competition.

  126. Re:Obvious question: why? by Per+Abrahamsen · · Score: 2
    I read the link pretty quickly...is this the DOE funding it? It looks like it. Does anyone know of any govt issues with GPL'ed software?
    Well, given that the development Gnat (GNU Ada) was founded with the specific requirement that the code was made GPL, I doubt the government as a whole has problem with GPL'ed code.
  127. Re:We should move away from the database paradigm by mvw · · Score: 2
    I mean, honestly, what is a "filesystem" except a way of organizing chunks of arbitrary data in a tree structure?

    If you have a "database" that also can organize chunks of arbitrary data in a tree structure, but is so much faster than ext2 at this that you believe it should be built into programs... why not wrap a filesystem driver around it and build it into every program at once?

    Your're right, I was not thinking of arbitrary data when I speak of that "database". I want to exploit features of a certain kind of data, that should be stored efficiently - the intermediate code representation.

    We usually store the initial representation of the program (the source) and the final representation (object files, executables, libs..) but throw away the intermediate representations that compilers, assemblers and linkers calculate time and time again.

    For a few cases we keep that intermediate representations. Precompiled headers are an example of an intermediate result that is kept near the beginning of the translation chain, template repositories (used in AT&T's cfront derived C++ compilers) are an example near the end.

    What I thought of is similiar to one of those relational databases in that the focus shifts from the raw input data to the intermediate representation that would be kept as a whole.

    Let's say the running core would consist not of a collection of files of characters but of datastructures that are more suited for compilation, typically of a forest of parse trees and related intermediate information for the whole project.

    One could import/export sources from that core, and the compilation process would be a special kind of query that exports binaries from that core.

    More global optimization strategies would be possible because the compilation proceeds on the whole project, not only single compilation units as normal compilers do.

    The trouble with template instantiation would be gone.

    But, yes now comes the but :-), such a system is certainly complicated. I had a lot of fun with precompiled headers and template repositories in the past. So I assume it is not easy to write them in a way that they work flawlessly.

  128. Re:There are lots of make replacements... by mvw · · Score: 2
    Another one - pmake

    PMake - A Tutorial
    Adam de Boor

    If there's a missing requirement in the rules of the contest, it's the lack of a migration path from make. Without that, you just have an interesting toy, because no one will move their existing significant system without it.

    Important point!

  129. The old folks were not stupid by mvw · · Score: 2
    One way this has been dealt with in the past is to store everything (source, source deltas, compiled objects and linked executables) in a source code management system along similar lines to SCCS or CVS. I cite as an example the CMS tools on OpenVMS.

    I am sure there is a lot to learn from those old systems.
    (Why some of the VMS guys inflicted Windows NT on us is a different thing :)

    That we seem to have lost some features as well and did not progress only, shines through in the hacks and rants of great hackers like Richard Stallmann and Jamie Zawinski. Take this quote

    Back before the current dark ages began, I hacked on Lisp Machines. (..)
    Have you ever wondered why we're stuck with crap like Unix and MS-DOS? Read Richard Gabriel's Worse is Better paper for a great explanation of why mediocrity has better survival characteristics than perfection

    from Jamie's page and this quote from Richard

    Yes, with string-based interpreters you can represent programs as strings, and you can interpret them as strings, but you can't parse their syntax very easily as strings. In LISP, programs are represented as data in a way that expresses their structure, and allows you to easily do things to the programs that are based on understanding them.

    from a recent RMS interview. Both refer to the LISP machines of MIT, which seem to have operated on a higher level program representation than mere strings.

    I interpret these rants that todays machines are stronger but dumber in a sense as well.

    Question is if one could combine the strengths of both worlds. The higher level representation found in LISP machines and the performance of our present C compiled systems.

    Like I tried to explain above, my feeling is that this could be achieved by shifting the primary representation to something closer to the intermediate structures that arise during compilation. It would have indeed similarities to a configuration management system. Adding a line to a text source would, after check-in, result in an immediate update of an persistent parse tree of the program database core.

    OpenVMS compilers and the linker can be invoked to operate on CMS objects without having to pre-fetch anything first.

    Do you have any reference where I can read more about CMS? (I would be happy also to have some nice review on the strengths of the LISP machines)

    If we were to implement something like this for ourselves I'd say the first thing to do is to find a lightweight, fast and efficient implementation of an object repository. Does anyone know of such?

    Sounds to me like what OODBs are promising. The one I had to try so far (POET 3 under Win32 and Solaris) was horrible. No idea how they perform today, as they seem to be two major revisions farther.

  130. Re:Source or everything; keeping temporary data by mvw · · Score: 2
    You speak of checking sources in and out of the "core" (I assume you mean a revision control repository), and checking binaries out. You also mention keeping parse trees and similar temporary data structures in the repository as well.
    We've really got two things here.

    No, I am not talking revision control repository here. I am talking moving towards a representation that is a bit further down the road of compilation.

    Obviously it is possible to represent a programm on many different stages:

    1. Starting from a collection of text files to
    2. preprocessed intermediate files,
    3. internal parse trees,
    4. other intermediate representations like RTL in case of gcc and possibly
    5. assembler source to
    6. object files to
    7. linked executables.

    If we treat each translation step as a mapping between representations, I can draw the compilation process this way:

    1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7

    In fact not all mappings are one way (loosing information) but are (or could be made) bijective

    1 <-> 2 <-> 3 -> 4 -> 5 -> 6 -> 7

    I now suggest focussing more on the programm in representation around stage 3. Why?

    Because this is the representation in terms of the language, on that for example the compiler works on for code generation.

    And I am not thinking just compilation here. I am more thinking turning the collection of sources into a database of things more understood, e.g. program related units, like classes, functions, macros, ..

    Take Emacs for example. Press Esc-x and then spc and you get a listing of all available functions. The Emacs kernel "knows" of all its functions. Compare that to grepping a deep C/C++ source tree for some function. That grepping should be replaced by a more appropriate query on a more appropriate database. (Like that Esc-x spc sequence is a query on the dumped Emacs kernel).

    If the source has changed, you are going to have to rebuild the output anyway. If the original has not changed, you can just use the object file from revision control. What is the point?

    Not every change to source would result in a complete rebuilding of the internal structures. Some mechanism like the access optimzation found in relational databases had to decide if the whole has to be rebuild, or if only parts have to be changed. This is certainly one of the hard parts.

    Now, I suppose you could argue that you don't always need to recompile an entire source file; you may have changed just one function. But to know that, the compiler is going to have to do a source analysis of it anyway.

    If I edit on the text stage you are right. Possibly most changes will result in a new translation. If I edit on the language stage ("add a function", "delete that class") not necessarily.

  131. Recursive Make Considered Harmful by mvw · · Score: 2

    I suggest to have a look at this article on the problems with recursive makefiles.

  132. Re:There are lots of make replacements... by mvw · · Score: 2
    Sorry, posted a local link. ;)

    Here is the one I meant (HTML, PS, ASCII)

  133. Referees - why DiBona? by mvw · · Score: 2
    Ok, they had me up until the bit about having to build the tools in python.

    As far as I understand ("scriptable from python") they want to be able to run it from python.

    What I am more surprised about is to see Chris DiBona on the referee board.

    He worked on the "Open Sources" book and is the leading PR guy of VA Linux (for a bad example of his advocacy style listen to this interview). But there it ends. He is certainly not picked because he is an expert of tool design.

    Anyone knows about the other referees?

  134. We should move away from the database paradigm by roystgnr · · Score: 2

    I mean, honestly, what is a "filesystem" except a way of organizing chunks of arbitrary data in a tree structure?

    If you have a "database" that also can organize chunks of arbitrary data in a tree structure, but is so much faster than ext2 at this that you believe it should be built into programs... why not wrap a filesystem driver around it and build it into every program at once?

    1. Re:We should move away from the database paradigm by ralphclark · · Score: 2

      One way this has been dealt with in the past is to store everything (source, source deltas, compiled objects and linked executables) in a source code management system along similar lines to SCCS or CVS. I cite as an example the CMS tools on OpenVMS. OpenVMS compilers and the linker can be invoked to operate on CMS objects without having to pre-fetch anything first.

      I'm not sure exactly how stuff is stored in CMS (apart from the obvious fact that source deltas are stored as diffs) but I'd guess that there must be some sort of efficient indexing involved since access to such a store doesn't have to be quite as flexible as a general purpose file system.

      If we were to implement something like this for ourselves I'd say the first thing to do is to find a lightweight, fast and efficient implementation of an object repository. Does anyone know of such?

      Consciousness is not what it thinks it is
      Thought exists only as an abstraction

  135. Yeah, right... by BJH · · Score: 2


    I can't see anyone slapping together a tool to replace make any time soon... that's one piece of heavy parsing code.

  136. alternative funding model by WillWare · · Score: 2
    To this and similar proposals, the complaint has been made that it undermines the cooperative nature that should properly inhere in the world of free software. If I compete, and in order to do so I write some incredibly cool tool, I'll probably keep the tool a "trade secret" in preparation for the next competition. This is a completely valid complaint; people are put in competition with one another when they ought not to be.

    The free market is a wonderful thing, and you don't want to discard the parts of it that work well. It's not unreasonable to offer compensation to somebody to write a useful piece of software.

    I recently came across a proposal by an economist (in the UK, I think) called "social policy bonds", which is applicable here. His proposal was that the government would create a financial instrument (a piece of paper) which could be redeemed for a fixed amount of money when some measurable social goal was fulfilled. Once the bonds were created, they would be auctioned to the highest bidder. A further free-market tweak could be put on the idea: bonds are issued by individuals rather than the government. Rather than collected tax dollars, an individual puts a chunk of cash in escrow with a private financial institute, which gives the individual a certificate serving the same function. If the condition is met, anybody can redeem the certificate and take the money out of escrow. (Until that time, the escrow agency can invest the money, or collect interest on it.)

    I've discussed this idea with a couple of banks in my area and they aren't interested in acting as escrow agents. The idea is too wierd and new for them. Maybe I'll try insurance companies. The viability of a certificate is contingent upon the reputation of the escrow agent.

    A similar instrument could be used in place of Software Carpentry's competition. It would remove the stipulation that only one person could prosper for each goal. People would be able to profit by contributing to the efforts of others. As with shares of stock, all the owners have an incentive to cooperate to cause the price of the shares to rise.

    The economist who originated this idea is named Ronnie Horesh. His proposal goes into much greater detail than I have done here. It's a cool idea, probably useful for many different goals.

    --
    WWJD for a Klondike Bar?
  137. Re:They mandate Python!? by DJerman · · Score: 2
    How does does implementing a tool in a scripted language make it eaiser for newcomers to learn and use?

    It doesn't. It makes it easier for the evaluators to evaluate. Once they get a set of winners, why don't we port 'em to C++?

    --
  138. Re:Factionalism by Arandir · · Score: 2

    "Now we can see the philosophy of some of those who support other "free" licenses."

    I seem to recall the original post in this thread called MIT/X the "wrong license". Are you saying that it's okay for GPL advocates to criticize MIT/X, but that it's at the same time wrong for MIT/X advocates to criticize GPL?

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  139. Re:No way you are getting away with that! by Arandir · · Score: 2

    "What's wrong with a bit of Marxism, anyway? It sure makes programmming easier - which is what I care about."

    With the MIT or BSD licenses, I can include the entire readable and understandable license at the top of each and every source file. I don't have to wonder if I'm going to be sued for using library A with library B. In short, since there are fewer restrictions with the BSD or MIT, programming is easier (unless you like the lack of choice inherent in marxism).

    "Just don't try telling me on one hand that the GPL is evil because it forces people to give away their code, and then encourge people to licence under the BSD so the code can be "truly free"."

    No one was calling the GPL evil (at least in this thread). But it's absolutely ludicrous to call the GPL more free than the BSDL on the fact that the GPL is more restrictive. And though it's not evil, it is questionable that the GPL requires its users to redistribute political propaganda.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  140. Re:No way you are getting away with that! by Arandir · · Score: 2

    "But neither thr BSD or MIT licence force you to include the source, do they?"

    But you were arguing that the GPL makes programming easier. Stop changing the subject :-)

    "...but apart from that I don't know what you are talking about."

    I'm talking about that whole introduction at the top of the GPL before section zero.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  141. Re:Freedom (unless you're not like us)? by Arandir · · Score: 2

    I agree totally.

    For a crowd that likes to toss around the words FREE and FREEDOM as much as they do, they are very stuck on the notion that there is only one right way to do something.

    The quickest way to earn the enmity of the Free Software community is to freely and voluntarily choose something. Choose *BSD and they bitch about proprietary exploitation. Choose KDE and they moan that it's illegal. Choose Redhat and they kvetch that it's too commercial.

    Choose to award someone $100K in a contest to improve autoconf and they're incensed that someone would spend his money without asking permission of Slashdot first.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  142. Re:Is make too difficult? by Arandir · · Score: 2

    "I actually like autoconf, and I have been using it in some of my projects, but the Makefiles generated by automake are just too bloated"

    I think you just answered your own question.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  143. Re:Freedom (unless you're not like us)? by Arandir · · Score: 2

    Hmmm, I didn't know that the DOE was funding this. This is not a good thing in my view. I can see one of my earlier posts is going to come back to haunt me. You'd think I'd learn to read the entire article first before commenting on it :-)

    However, I notice that most people bitching about this are not complaining about the source of funding, rather they are bitching that money is going someplace other than where they want it to.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  144. Re:They mandate Python!? by Abigail-II · · Score: 2
    I can understand wanting to standardize on one language to help make this "suite" a cohesive whole, but they've got to select the right tool for the job. Hell, I don't even have python installed on most of the boxes I use, but you can bet c and c++ will always be there.

    What exactly is the problem? Yeah, I guess Python won't be installed on every machine - but so won't any of those new tools. And if you are going to install new things, what's the problem with installing Python?

    -- Abigail

  145. Source or everything; keeping temporary data by DragonHawk · · Score: 2

    You speak of checking sources in and out of the "core" (I assume you mean a revision control repository), and checking binaries out. You also mention keeping parse trees and similar temporary data structures in the repository as well.

    We've really got two things here.

    The first is the question of keeping just "source" files under revision control (and by source, I mean anything you use to build an executable - code, images, resources, etc.), or keeping everything (object files, final executables, etc.) under revision control.

    The argument for "just source" is that you should always be able to build an identical finished product from the proper source, and so keeping generated output files around is a waste of machine resources. You also run into fewer problems with the unexpected dependencies and conflicts you encounter during debugging.

    The argument for "everything" is that you can reduce build times by having those ouput files pre-generated, so the burden of rebuilding on a change is put on the person making the change, and everyone else just uses their output. You can also make the argument that finding the above-mentioned dependencies early on will lead to better code.

    As far as I'm concerned, this is largely a matter of opinion, and you should go with whatever works for you.

    Now, the second issue is a bit different. You talk about storing intermediate data, such as parse trees. An extension to the "everything under revision control" method. What benefit does this get you? If the source has changed, you are going to have to rebuild the output anyway. If the original has not changed, you can just use the object file from revision control. What is the point?

    Now, I suppose you could argue that you don't always need to recompile an entire source file; you may have changed just one function. But to know that, the compiler is going to have to do a source analysis of it anyway, so why bother trying to cache the output? If your source files are big enough that this is a significant problem, youprobably need to look at splitting up your source a bit more. It isn't just increased build times that are at issue here; programmer comprehension drops the bigger a source file gets.

    Don't get me wrong; I'm not trying to shoot you down here. I'm just trying to see what benefits one would get from the ideas you are suggesting.

    Incidentally, Borland's Incremental Linker, used in C++Builder and Delphi, does do something similar to what you are suggesting. If you change one object file and go to relink to make an updated executable, it simply replaces the parts of the executable that depend on the changed object code. The parts that did not change stay the same. Saves a little time.

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  146. Re:They have got to be kidding... by Rob_u · · Score: 2
    (try telling MSVC to run lex and yacc and then compile the output files, using only .dsp files! HA!)
    I do this all the time. It's a bit fiddly, because you have to muck with that horrible custom build step dialog, but it's not even buried too deeply in the GUI. Just say "grammar.y" produces "yy.tab.c" (and "yy.tab.h" if you're having it make tokens for the lexer too) by means of "bison grammar.y", and put both files in the project. Similar for lex.

    That said, I still prefer makefiles. Much easier just to set up a general rule and tell make to go to it.

  147. No way you are getting away with that! by Dacta · · Score: 2
    None of the labels you mention is entirely off base. His writings definitely do borrow rhetorical techniques and concepts from those of Marxism. I don't know about "Svengali," but there is some legitimacy to the claims that he is a fraud.

    What's wrong with a bit of Marxism, anyway? It sure makes programmming easier - which is what I care about.

    I personally believe that the FSF's 501(c)(3) tax exemption was obtained fraudulently, because the purpose of the FSF is (and always has been) to compete directly with for-profit businesses. This is not allowed, and since he intended to do this from the start, it may well be that he could be accused of defrauding the IRS.

    Glad to see someone is watching out for the poor IRS!

    Not just by "giving back" -- that's commonly done under other licenses such as the MIT X and BSD licenses. Rather, the GPL demands that the author give up any prospect of licensing his or her work for money. He or she must give the code not only to the original developers but to everyone for free. This is an onerous requirement which, as Richard Stallman himself states, is designed to reduce programmers' salaries and compromise their livelihoods.

    But at least then when that programmer is gone you can guarentee that you have an up to date copy of the source - try that with a commercial licence - and don't give me that line about how all BSDL software producers are nice guys who throw in the code for free - that is the same as GPL, and invalidates your arguement.

    Not true. I can pay a fee to license a commercial, royalty-free software library and use it in my work without being forced to compromise my livelihood as a programmer.

    Until you need to fix a bug in that library, and find you don't have the source and the company is out of business.

    RMS's discussion of such licenses isn't reasoned. It's demagoguery which is designed to deceive and to hide his true intent.

    As opposed to your well resasoned and level headed criticisms of the GPL, say?

    You know what I like best about the BSD licence? The fact you can re-licence code under it to the GPL. Life is beautiful, sometimes!

    Look, I have nothing against the BSDL - it is a nice licence if you want to let others make money off your code. Just don't try telling me on one hand that the GPL is evil because it forces people to give away their code, and then encourge people to licence under the BSD so the code can be "truly free".

    GPL - all the source, all the time!

    1. Re:No way you are getting away with that! by Dacta · · Score: 2
      With the MIT or BSD licenses, I can include the entire readable and understandable license at the top of each and every source file. I don't have to wonder if I'm going to be sued for using library A with library B. In short, since there are fewer restrictions with the BSD or MIT, programming is easier (unless you like the lack of choice inherent in marxism).

      But neither thr BSD or MIT licence force you to include the source, do they? That is what I like about the GPL.

      But it's absolutely ludicrous to call the GPL more free than the BSDL on the fact that the GPL is more restrictive. And though it's not evil, it is questionable that the GPL requires its users to redistribute political propaganda.

      No one is claiming that the GPL is more free than the BSDL. It's not - and that is why I like it.

      As for political propaganda - well, I guess it forces you to redistribute the source, which can empower those who normally wouldn't have it, but apart from that I don't know what you are talking about.

  148. Which invalidates your arguement (again)! by Dacta · · Score: 2

    The source code is available for FreeBSD & OpenBSD, right? There is no difference between that, and GPL'ed code, except that GPL'ed code can never be hidden, while BSDL code can.

    That means that if a company wants to make some advance then with Linux they have to release the code (ignoring Binary Kernel Modules) while with *BSD they don't.

    I guess you'll say "but they often do release the code after a while" - well, I don't want to wait and hope. I want it guarrented!

  149. Re:Is this the best way to invest $100k in Linux? by Teach · · Score: 2

    Whilst I applaud any company who's ready to spend substantial wads of cash on OpenSource development, I really think that competitions are the wrong way to go about it:

    I thought this at first, too. Seems like a dumb thing for an "Open Source" company to do, since it appears to encourage competition at the expense of the OSS model. But upon reading the webpage I discovered there's more to the story.

    • It encourages secrecy and non-cooperation between the various people working on projects like this.

    Actually, after the initial design phase, finalists are monetarily encouraged to join forces, since they can double their take if they win.

    • It doesn't encourage the best people to do the work because they'll say to themselves "I could work for six months on this - and then lose the competition and get nothing".

    This is not obvious from just reading the blurb, but the biggest part of the competition is purely to design such tools; implementation details are discouraged. Though a good design is quite hard, it doesn't take six months, especially if the designer in question has already bounced around such ideas. Perhaps the money will draw out a designer who's been itching but hasn't yet scratched.

    Also, the deadline for the initial design submissions is March 31, so the most one could waste is ten weeks of planning. (And since it's just a design, there's no debugging!)

    • The wording of the competition seems to prohibit developers from doing the rational thing which is to start with the best parts of the existing autoconf/make system and just fix whatever is perceived to be broken.

    From the rules (emphasis is mine): "Designs based on existing tools, written in any language, are welcome. Such designs will be judged on the same basis as those written from scratch." So this is still possible.

    • Putting money into OpenSource teams has to be done with great care since it can often result in serious internal debates about who contributed most and who deserves what share of the money.

    You're right on with this one. The rules of the game change a bit when we're talking about quantities of money rather than merely number of listings in the CREDITS file.

    Failing that, break the money up into $20k 'grants' and offer them to people who are already working in the right direction.

    As I said, existing projects can compete. And the $100,000 is broken up into $2500 apiece for each of four finalists in the four categories, and then a second award of $7500 for the final winner in those categories and $2500 each for the runners up.

    This competition is A Bad Thing.

    Again, that's what I thought at first. But after reading the rules I had to agree it's not as dumb as it sounds. They're merely putting some money into trying to find the best design for some new tools (since they're claiming that the inherent design limitations of the existing tools are what they're trying to overcome). Then once the initial submissions are weeded through, they basically let the OSS model take over, even monetarily rewarding finalists who join forces and end up with a better final design.

    --
    Graham "Teach" Mitchell, computer science teacher, Leander HS
  150. Use of autoconf? by harmonica · · Score: 2

    This is a real question, no offense meant, no flamebait. Isn't autoconf just there to work around a) the problems of the C programming languages with programming across platform bounds (e.g. sizeof(int) differs) and b) the differences between *ix systems (function call XYZ is not available on some systems, has another name on another system etc.)?

    If so, wouldn't it be a better approach to use a standardized high-level programming language that is a bit more away from the operating system? I know C cannot be dropped immediately, but if more and more tools are built to cover its shortcomings...

    OTOH, I like make, I'm using it on all kinds of platforms (Linux, Sun OS, Win32) to create programs in different languages or just to rebuild some LaTeX source.

    1. Re:Use of autoconf? by mav[LAG] · · Score: 2

      You're spot on about the uses of autoconf you mention but it has other advantages as well. It encourages the use of very deep packages without having to remember the (nightmarish) rules about recursive Makefiles. Instead of dumping all my source in one directory, I can organise it in a logical fashion and get the flexibility, dependency stuff checking and modularity that goes with it. That's just too much work to do every time with vanilla make I find.
      Autoconf also simplifies creating a distribution (make dist), putting in checks into your code (make check), installing and uninstalling correctly no matter where the prefix is, and checking for the correct libraries before compile time.
      Not that I don't understand make - in fact I think that using autoconf and scanning its output has helped me get a handle on how make does its magic but doing it by hand? Eeek.
      A standardised programming language would work. I think Perl makefiles are already a step towards that idea. But a new one would take time to catch on. Nearly all GNU stuff comes with configure scripts. I get nervous when I download source and it doesn't have a configure because 90% of the time, something is wrong and it needs a bit of makefile hacking.
      A front-end for autoconf would be a good idea as proposed by some previous posters. Those who want to learn it before a nice GUI comes out or a replacement is found can check Havoc Pennington's online book which has a chapter on the package.

      --
      --- Hot Shot City is particularly good.
  151. Is make too difficult? by Captain+Zion · · Score: 2
    make has been used to manage dependencies between project components for almost a quarter of a century. While it was a major advance over the hand-written shell scripts that preceded it, make's semi-declarative syntax is clumsy, and even short make scripts can be very difficult to debug. In addition, its functionality is not accessible from other programs without heroic effort, and it provides little support for common operations such as recursion.

    How can one expect to actually call himself a developer if he can't even manage to understand Makefiles? IMHO the standard make does wonderfully what it was designed for, and the GNU make is half-way to creeping featurism. The consistency and interoperability of each of the system utilities adds elegance to Unix, and learning how to use them helps to keep the brain working! :) Stupidifying it is a mistake.

    This isn't elitism, but I believe that replacing make(1) to make it more accessible to dumb people doesn't make sense, except if you dumbify the programming languages as well.

    (I actually like autoconf, and I have been using it in some of my projects, but the Makefiles generated by automake are just too bloated. I use my own nice very nice recursive Makefiles to build and package the system, and it works quite well!)

    1. Re:Is make too difficult? by Animats · · Score: 2
      Conceptually, make sucks. The semi-declarative part is the good part. It's trying to do procedural things in a semi-declarative language that doesn't work well.

      The good idea in make is the dependency graph. Having a dependency graph that accurately describes what goes into your product is a very useful thing. But make doesn't let you use that dependency graph in multiple ways. You can't use it for linking. You can't use it to decide what goes into a distribution file. And it isn't enforced; there's nothing that checks that there aren't dependencies on things not in the graph.

      Make's "time greater than" approach to determining if something needs to be built is terrible. If make actually logged what the last compile used as inputs, it would be safe. Instead, the usual answer to doing anything that involves the possibility of a file changing to an earlier date is to either recompile everything manually or use something like "touch" to fool make.

      Some of the modern IDEs, notably CodeWarror, have rethought the dependency issue and seem to have got it mostly right. (MSVC is still cranking out makefiles internally.) But the UNIX toolset is still stuck in the 1970s.

      I rewrote make once, in 1979, to fix some of these problems. (I couldn't distribute it, so it was only used in-house.) I'm disappointed that in twenty years, nobody has rethought make. All they've done is add cruft.

  152. Yes, you are Incorrect on several points by JordanH · · Score: 2

    Arrogance and ignorance are a bad combination.

    • Mitre is not a 501(c)(3) non-profit nor does it claim to be a charity.

    I direct your attention to this page, where it is stated:

    • "Both companies will be not-for-profit charities, under the provisions of IRS Section 501(c)(3)."

    Mitre was a 501(c)(3) that broke up recently into two 501(c)(3) companies, Mitre and Mitretek.

    Being a 501(c)(3) doesn't mean you are a traditional "charity", although you could indeed give tax deductible contributions to Mitre.

    Although I can't provide a web reference for CTC, I recently attended a briefing at CTCs headquarters where it was stated plainly that CTC is indeed a 501(c)(3) corporation. In fact, the briefing materials did mention that you can make tax deductible contributions to CTC!

    So, perhaps I was right initially. People do routinely libel RMS. You accused him of committing criminal fraud in his incorporation of the FSF as a 501(c)(3) entity.

    Gosh, do you need more examples of 501(c)(3) corporations that compete with for-profit corporations? Many Hospitals and some HMOs are 501(c)(3) corporations. There are both 501(c)(3) and for-profit consumer counseling services. I could go on. Your assertion that 501(c)(3) corporations are not allowed to compete with for-profit corporations is absurd.

    I suppose the rest of your unfounded conjectures and suppositions are about as reliable.

    It's no surprise that RMS, the FSF and the GPL are so negatively represented in the Computer Industry Press when columnists routinely bluster authoritatively on subjects about which they know nothing.


    -Jordan Henderson

    1. Re:Yes, you are Incorrect on several points by JordanH · · Score: 2
      • Certain corporations which perform specific activities for the government, as specified by Congress, may also be classified as tax-exempt under 501(c)(3).

      You're making this up as you go along, right?

      The examples I gave were all 501(c)(3)s. As I said, it's not by my definition, each of these organizations applied and were granted this status by the IRS. As you say, see Publication 557 for details.

      While the functions of 501(c)(3) organizations may not seem to be "charitable" in function, they are generally referred to as "a 501(c)(3) charity". Donations can generally be made to these organizations on a tax-exempt basis. As I said, charity is broadly defined. Both Mitre and CTC refer to themselves as 501(c)(3) charities. As this IRS page states:

      • The organizations described in 501(c)(3) are commonly referred to under the general heading of "charitable organizations."
      • The exempt purposes set forth in 501(c)(3) are charitable, religious, educational, scientific, literary, testing for public safety, fostering national or international amateur sports competition, and the prevention of cruelty to children or animals. The term charitable is used in its generally accepted legal sense and includes relief of the poor, the distressed, or the underprivileged; advancement of religion; advancement of education or science; erection or maintenance of public buildings, monuments, or works; lessening the burdens of government; lessening of neighborhood tensions; elimination of prejudice and discrimination; defense of human and civil rights secured by law; and combating community deterioration and juvenile delinquency.

      Note also that as long as the corporation involves itself in it's original chartered function, it can keep it's tax exempt status:

      • The articles of organization must limit the organization's purposes to one or more of the exempt purposes set forth in 501(c)(3) and must not expressly empower it to engage, other than as an insubstantial part of its activities, in activities that are not in furtherance of one or more of those purposes. This requirement may be met if the purposes stated in the articles of organization are limited in some way by reference to 501(c)(3). In addition, assets of an organization must be permanently dedicated to an exempt purpose.

      You can contribute, tax-deductibly to Mitre, CTC or the FSF because of their "charitable" status.

      The real issue is that you accused RMS of perpetrating a fraud by invalidly constituting a 501(c)(3) corporation. You went on to claim that such corporations were not allowed to compete with for-profit corporations. Both claims are bunk and any examination of the relevant tax code sections demonstrates this pretty clearly.


      -Jordan Henderson

  153. Free Software : The Price is Right by LocalYokel · · Score: 2
    It's my understanding that most of the writers of free software do so because they already have jobs and/or other income. Perhaps there are budding developers that need funding more than them?

    I'm sure this has good intentions, but will OSS developers of the future have to compete against each other with duplicated efforts to write the best free software, in hopes of winning cash and prizes?

    Sounds like some kind of game show to me...

    --

    --

    --
    E2 IN2 IE?

  154. Multi-item response from the project coordinator by gvwilson · · Score: 2

    [From the Software Carpentry project coordinator]

    Thank you all for your postings regarding the Software Carpentry project. To answer some of the points that have come up several times:

    This is a design competition, rather than a programming competition. Good entries should be relatively language-neutral --- we believe that at the 5000-word level, the similarities between modern object-oriented languages (C++, Java, Python, etc.) are more important than their differences.

    Designs based on existing tools are very welcome. If, for example, you think the only way to meet the criteria for the "build" category is to extend the syntax of standard Makefiles, then please submit that as a design. (However, for the reasons discussed in the FAQ, if your plan for an implementation is simply to provide a Python scripting interface to GNU Make, you'll have to convince the judges that there's no "pure Python" way to achieve the same ends.)

    No, Software Carpentry is not a company looking for some publicity. The project is being funded by Los Alamos National Laboratory, who believ that computational scientists and engineers need easier-to-use software engineering tools, and administered by CodeSourcery, LLC, who believe that those tools would be of use to the whole Open Source community. The FAQ talks about LANL's reasons for funding the project, as does this article from Doctor Dobb's Journal.

    Yes, one of the project's goals is to give up-and-coming software designers a chance to get some attention, just as architects and classical musicians do.

    Yes, the competition is open to submissions from any country.

    No, this is not part of some perfidious Pythonesque plot for world domination :-). We thought very seriously about using Perl for the implementations, but after teaching classes in both Perl and Python at Los Alamos National Laboratory, came to the conclusion that the latter had a gentler learning curve. (This is not meant as disparagement of Perl as a tool for full-time professional programmers, it is simply an empirical observation of computational scientists and engineers.) Neither Guido nor any other member of the Python development team had any part in setting up the project, choosing Python, or choosing the competition categories.

  155. They mandate Python!? by Vic+Metcalfe · · Score: 3
    Ok, they had me up until the bit about having to build the tools in python.

    Don't get me wrong, I have nothing against python, or scripting in general, but these tools scream c or c++ to me.

    I can understand wanting to standardize on one language to help make this "suite" a cohesive whole, but they've got to select the right tool for the job. Hell, I don't even have python installed on most of the boxes I use, but you can bet c and c++ will always be there.

    From their FAQ... "Requiring that all tools be written in, or scriptable with, a single language will make it easier for newcomers to learn, use, and extend these tools."

    How does does implementing a tool in a scripted language make it eaiser for newcomers to learn and use?

    Oh well, other than that mandate this looks like a really cool project. I wish Software Carpentry all the luck on the world!

    1. Re:They mandate Python!? by Daniel · · Score: 3

      How does does implementing a tool in a scripted language make it eaiser for newcomers to learn and use?
      Well, I assume that they'll allow Python code in the control files themselves, the same way Makefiles allow sh code and autoconf allows m4 code. Writing the tool in the interpreted language makes this easier -- I suppose you could try to optimize by writing most of the code in C, then providing Python-visible hooks and calling the interpreter as appropriate; this might be less useful than you'd think, though. My inclination would be to write only the dependency-resolution stuff in C -- nothing else seems likely to be time-critical.
      Anyway, back to the reason to choose Python (as opposed to other scripting languages) -- Python is actually more common than you might think, it's not that hard [1] to install, and it's sane.
      Daniel
      [1] I'm assuming you're willing to use binary packages; for example, the Debian ones..

      --
      Hurry up and jump on the individualist bandwagon!
  156. There are lots of make replacements... by Per+Abrahamsen · · Score: 3
    ... suck as cook, many of them arguably better. The reason they don't take off is that GNU make is "good enough", and people already know make.

    The same is true for all the programs they want to replace. At best, this competition will give some developer experience they can use for enhancing the standard tools. At worst, it will divert some free software talents towards enhancing and maintaining a little used set of alternative tools, rather than enhancing the tools used by the rest of the community. Most likely, someone will have wasted US$200.000.

    1. Re:There are lots of make replacements... by dbrower · · Score: 3
      And there is jam , a paper from which has the bibliography:

      Atria Software, "Building Software Systems with ClearMake", ClearCase Users Manual, Natick MA, May 1994.

      Geoffrey M. Clemm, The Odin Reference Manual, available via anonymous FTP from ftp.cs.colorado.edu.

      S. I. Feldman, "Make - A Program for Maintaining Computer Programs", BSD NET2 documentation, April 1986 (revision).

      Glenn Fowler, "The Fourth Generation Make", Proceedings of the USENIX Summer Conference, June 1985.

      Peter Miller, "Cook - A File Construction Tool", Volume 26, comp.sources.unix archives, 1993.

      Christopher Seiwald, "Jam -- Make(1) Redux", Usenix UNIX Applications Development Symposium, Toronto, Canada April 1994.

      Richard M. Stallman and Roland McGrath, "GNU Make - A Program for Directed Recompilation", Free Software Foundation, 1991.

      Zoltan Somogyi, "Cake, a Fifth Generation Version of Make", Australian Unix System User Group Newsletter, April 1987.

      Dennis Vadura, dmake(1) manual page, Volume 27, comp.sources.misc archives, 1990.

      Which show some different approaches that have been taken, even though some of them don't qualify or are what are the things being replaced.

      If there's a missing requirement in the rules of the contest, it's the lack of a migration path from make. Without that, you just have an interesting toy, because no one will move their existing significant system without it.

      -dB

      --
      "It if was easy to do, we'd find someone cheaper than you to do it."
  157. Re:Should we move away from the file system paradi by mvw · · Score: 3
    And that's why *BSD stuff will never beat GNU software - they took the time to do it properly; you're "too busy" to bother.

    That is a stupid remark, especially the time argument. Both cultures have excellent results, are fruitful to each others and are likely to stay with us for a while.

    The lack of a BSD compiler is the result of no one interested enough so far in writing one. Not more not less. No reason why this could not change one day.

  158. Re:Yeah, right... That's the point, actually by Brento · · Score: 3

    That's the point behind every pie-in-the-sky competition. When JFK got up on the podium and said he wanted a man on the moon, he was really standing in front of a hundred thousand engineers and saying, "I dare you." This group is doing the same thing.

    Will we get a new make out of it? You and I would say no, but all it takes is a few kids sitting around somewhere listening to us laugh, and they get even more fired up.

    The money isn't going to be what drags the programmers out of the woodwork - it's going to be the recognition that goes along with the money. (Sadly, the only way to get recognition in these IPO days is money, but that's another rant.) Ten years ago, someone could have waved a hundred thousand dollar check in front of Linus's nose, and it wouldn't have got us to this point any faster.

    --
    What's your damage, Heather?
  159. Freedom (unless you're not like us)? by rhet · · Score: 3


    So many of the previous posts are about why this is a Bad Thing because it diverts talent away from other things, why replace something that works, yada yada yada. The same could have been said of Linus' work on linux instead of contributing to BSD, etc. etc. Why are people so hung on "investing in open source (no, I refuse to capitalize open source)" and sticking with something "because that's how we've always done it?"

    Here's a company willing to throw money at open source development and they get blasted. Who cares what they do. Does it affect you? NO. It doesn't. You do your thing, let Software Carpentry do theirs. If you love make, then use it. If you don't, that doesn't mean you're dumb or stupid as previous posters seem to imply, it just means that you would like an alternative to "make." Common folks, let's put the FREEDOM back in FREE code.

    The open source zealots (and slashdotters in particular) are, ironically, (moderator: that's my own damn observation, not flame bait) among the most UNFREE people in this world. You seem to like any idea as long it jives with what you already believe. Live and let live.

    More open source s/w will NEVER be a Bad Thing. After all, it will only result in more FREE code and that means more FREEDOM.



  160. Obvious question: why? by Tet · · Score: 4
    The list of judges is impressive, so it's probably not just some new company seeking publicity. However, the question is, why do they want to replace the tools in question? The existing tools already have 90% or more of the required functionality, so why not just extend them as appropriate?

    Certainly autoconf needs some work to tidy it up (particularly the generated configure script), but it's not as bad as they make out. As for it being the last major application to use m4, I guess they've forgotten about sendmail...

    Similarly, make has some deficiencies, but again, it's mostly there, and what it does lack can be fairly easily added. It needs a simple GUI front end for newbies more than it needs rewriting.

    Overall, it's not a bad idea, but I think that the effort should have been put into more pressing areas, such as having an embeddable editor API for X (so that individual apps can have an editable text area, and the users gets to choose which editor is actually used).

    I can't help thinking that perhaps this is part of Guido's grand plan for Python to take over the world (not necessarily a bad thing in itself, but I'm always suspicious of things with political motives).

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
  161. They have got to be kidding... by Stiletto · · Score: 4

    Replace autoconf?
    Replace make?????

    These are robust, time-tested tools for creating software. If a better way existed to manage projects we (programmers in general) would probably have it by now.

    I was just recently a member of a team that converted a very large project from Microsoft's hideous Visual Studio project (.dsp) files to autoconf, automake, and make. Why was this done? Because it's easier to use, more flexible (try telling MSVC to run lex and yacc and then compile the output files, using only .dsp files! HA!), and opens the program up to porting to other platforms.

    Now on the other hand, if all "Software Carpentry" wants is versions of autoconf and make ported to python, well, I guess it's not that silly, but why would you want to do that? The source code for these programs is extremely portable already. Implementing them in Python gains you nothing.

    ________________________________

  162. Is this the best way to invest $100k in Linux? by sbaker · · Score: 4
    Whilst I applaud any company who's ready to spend substantial wads of cash on OpenSource development, I really think that competitions are the wrong way to go about it:

    • It encourages secrecy and non-cooperation between the various people working on projects like this. That transforms the usual model for OpenSource development from web-based cooperation into commercial competition.
    • It doesn't encourage the best people to do the work because they'll say to themselves "I could work for six months on this - and then lose the competition and get nothing". Since they have already fostered a competitive model, that's a bad thing.
    • The wording of the competition seems to prohibit developers from doing the rational thing which is to start with the best parts of the existing autoconf/make system and just fix whatever is perceived to be broken. Even worse, the people who might have been working on improving those projects are now dragged off to start again from scratch.
    • Putting money into OpenSource teams has to be done with great care since it can often result in serious internal debates about who contributed most and who deserves what share of the money.
    It would have been much better if this company had hired a good programmer for a year or two and had them work on 'fixing' whatever it is that they dislike in autoconf/make.

    Failing that, break the money up into $20k 'grants' and offer them to people who are already working in the right direction.

    This competition is A Bad Thing.

    --
    www.sjbaker.org
  163. Should we move away from the file system paradigma by mvw · · Score: 5
    Replace autoconf?
    Replace make?????
    These are robust, time-tested tools for creating software. If a better way existed to manage projects we (programmers in general) would probably have it by now.

    I was just recently a member of a team that converted a very large project from Microsoft's hideous Visual Studio project (.dsp) files to autoconf, automake, and make. Why was this done? Because it's easier to use, more flexible (try telling MSVC to run lex and yacc and then compile the output files, using only .dsp files! HA!), and opens the program up to porting to other platforms.

    First, I completely agree with you that project configuration through MS Developers Studio projects is inferior to UNIX style configuration.

    I had many fruitless discussions about this with some of my collegues (sigh). For some reason it is seems nearly impossible to convince people with a DOS/Windows background that the complicated make syntax is less a PITA than the fact that a myriad of parameters is hidden behind various corners of the MS Dev Studio graphical user interface.

    My theory is that UNIX people love ASCII representations while the Windows crowds loves roaming GUIs. No idea why. But believe it or not there are people who for example can memorize an astounishing list of key/value pairs from the NT registry.

    On the other hand one must admit, that it is hard to understand make without being familiar with the way the basic UNIX tools (awk, sed, grep, sh..) interact in the more complex make files.

    My objection against make is not it's complicated syntax (which is only complicated because different levels of parsing - make's and sh's - intermix and regular expressions need a bit familiarity), but that it is slow.

    This is not a failure of make itself but because of the way we traditionally organize programms into files and directories. In fact we use the filesystem as database, and query this database by giving paths.

    I would expect a speed up, if we would move away from that organization into some kind of program database. A database that is very close to the semantics of the used programming language. Like a database of classes, makros, functions, globals etc So I expect that it would be possible to improve the speed of a make dependency aware construction tool in such a environment.

    It would also solve some issues with C++ (especially template resolution).

    However I have not seen a move away from that traditional C style project break up, compilation and linking to something which more resembles a database with tools on it yet.

    Possibly because it would give up many benefits, the most obvious ones the ASCII representation and the flexibility and power of interaction with the UNIX simple-tools-work-together style. Which is a very good style. In fact it is a very clever hierarchical design.

    Another reason is that the database thing would also have some other drawbacks. The slowness of make is part to scanning the file hierarchy. On the other hand this allows to add or delete components in an easy way. A database solution would insist of registring new items and eventually be more complicated to use here.

    My objection to autoconf is mostly license based. The whole autoconf/automake/libtool toolchain is an impressive one, but it is inheritently bound to the GPL. If we ever want a true free BSD, we have to think of an alternative. But as with the system compiler, we have other, more important work to tackle with limited resources right now.