Slashdot Mirror


Doom Source Now Under GPL

Scipius wrote to us with the news that Game OverLaird John Carmack has re-licensed the Doom source code under the GPL. Things like this make my heart beat with joy.

27 of 142 comments (clear)

  1. Re:A project idea forms ... by Negadecimal · · Score: 2

    #!/usr/bin/perl -w

    use Doom;

  2. Re:What it needs by jflynn · · Score: 2

    What you say is basically correct, the code is not amenable to being extended to 3D. It's a rewrite, as Carmack noticed when he wrote Quake.

    However some of the source mods already available have provided pretty good workarounds. Boom, for example allows you to create "fake" ceilings and floors so you can be underwater. More importantly there is a silent teleporter that preserves angle and momentum, so you can create some very good 3D effects by seamlessly joining two different sections of map as you walk up some stairs, or take an elevator (also supported.)

    Some source mods also allow real heights. You can walk across the heads of a line of imps, take a ride on a cyber, control vertical aiming, jump, use weaker gravity, and look up and down.

    It isn't perfect, but DOOM was always about doing as much as you can within the engine limits.

  3. Those id guys swear a lot by Wee · · Score: 4
    So I got the source code and I'm looking through it. Then I get an idea...

    [wrhodes@dt032nc0 linuxdoom-1.10]$ cat ./*.c | grep fuck | wc -l; cat ./*.c | grep fuck
    19
    static fuck = 0;
    fprintf(stderr, "fuck %d \r", fuck++);
    "fuck you, pussy!\nget the fuck out!",
    "hey, ron! can we say\n'fuck' in the game?",
    "suck it down, asshole!\nyou're a fucking wimp!",
    boolean message_dontfuckwithme;
    static boolean message_nottobefuckedwith;
    message_dontfuckwithme = false;
    message_nottobefuckedwith = false;
    message_nottobefuckedwith = false;
    if (showMessages || message_dontfuckwithme)
    if ((plr->message && !message_nottobefuckedwith)
    || (plr->message && message_dontfuckwithme))
    message_nottobefuckedwith = message_dontfuckwithme;
    message_dontfuckwithme = 0;
    message_nottobefuckedwith = true;
    extern boolean message_dontfuckwithme;
    message_dontfuckwithme = true;
    // 'fa' cheat for killer fucking arsenal

    [wrhodes@dt032nc0 linuxdoom-1.10]$ cat ./*.c | grep shit | wc -l; cat ./*.c | grep shit
    5
    wipe_shittyColMajorXform
    wipe_shittyColMajorXform((short*)wipe_scr_start, width/2, height);
    wipe_shittyColMajorXform((short*)wipe_scr_end, width/2, height);
    // Really complex printing shit...
    // Massive bunches of cheat shit

    Of course, that doesn't compare too well with the Linux source, but pound for pound plenty of prurient pontification.

    (BTW, have any of you tried to enter source code in a /. post before? It's ironic that it can't really be done -- all the indentation gets stripped. Someone tell CmdrTaco that he needs to allow tags in HTML posts.)

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  4. Re:Doom derivatives by jflynn · · Score: 2

    I hope DOOM Legacy will open their sources, but they have been the least willing to do so to date. They will sometimes provide source to those who ask for the purpose of developing auxilliary programs, but they have expressed unwillingness to let "competing projects" use their code. Doom Legacy is a very impressive source mod, I just question their willingness to open their sources publically. If so, that's good.

    Nearly all the other projects except Bruce Lewis's GL Doom have offered sources with binaries, and I expect most will convert to GPL now. Bruce Lewis lost his sources in a flood, thereby killing an important project, and that's what Carmack is referring to in the linked article. He intended to release them, after beta, but it never made it there.

  5. GEL by mattc · · Score: 2
    Speaking of 3d stuff, check out GEL. It is an open source effort (BSD-like license) to develop a cooperative 3d world using much more modern technologies than Doom. Imagine realtime world creation in a cross between virtual reality and IRC. It is being developed by Real Programmers (the guy who created Active Worlds and a guy from the FreeBSD core team, plus some others with equally impressive resumes) so you know it is not just vaporware!

    I'm not involved with this project, I just found it a few days ago and it looks cool. It's about time we start using 3D for things besides shoot-em-up games!

  6. A project idea forms ... by seth · · Score: 3

    What about a GnomeDoom widget or a GtkDoom widget, based on this source code? I haven't looked at the code yet, so this might be impossible, but that could be kinda cool, or at least a worthy hack?

    Or how about an XML-based WAD file format? Might be worth hacking that up.

    Hmm, or a JNI-based Java bindings for Doom ... I could see that ... :)

    Oh well, back to work.

  7. Ironic... by itp · · Score: 2

    My roommate and I were just talking about the source we'd /really/ like to see released... Commander Keen and Duke Nukem (the original). These games were the best. Brings back fond memories of the days of BBS's, when life was simple... :-)

    Back on topic, this is really cool news. Granted this isn't cutting edge technology by a long shot, but it should still be fun!

    --
    Ian Peters

  8. A more pertinent question by Daniel · · Score: 2

    Why can't he just dual-license it? Cygnus does this, I believe. Release a GPLed version, charge for a different license.
    (Note: I suspect there is a reason -- from what I understand of game companies, many would just steal the source and try to disguise the fact -- catching them would be a major pain. And of course Carmack probably doesn't want them to see how he does what he does..)

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  9. Re:Good ol' Open Source by Daniel · · Score: 2

    People don't link their program with libdoom.so
    Actually, this is an interesting idea. Why not, especially now that the source is available?

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  10. sorta by Trepidity · · Score: 2

    id didn't seem to be going after anybody, but my reading of the previous license seems to indicate that distributing modified versions of the DOOM source code was not permitted. The only thing permitted was "Educational Use," which included using parts of the code in your own programs (which you were allowed to distribute, even for money), but nowhere was permission given to distribute the entire original source code with modifications.

  11. previous license by Trepidity · · Score: 5

    There seems to be some confusion about the previous license of the Doom source. Based on my reading of the license (IANAL, however), you were allowed to use portions of the source in your own programs (which you could do anything with, including sell, and were not required to make the source code to them available). This is referred to as "Educational Use" in the license. However, the license also specifically prohibited you from redistributing the original source code. It seems like somewhat of a judgement call how much source code constitutes using it in your own work (which you can do whatever you want with, BSD-style), and how much constitutes a derivative of the original Doom source (which is "all rights reserved").

    This presents an interesting situtation now. Although it has been re-licensed under the GPL, I have a copy of the source code under the old license, and they can't rescind this license. Therefore, I could take some functions from it, and use them in my own closed-source program (which the license allows), thereby effectively bypassing the requirements of the GPL.

  12. Re:Isn't this actualy *more* restrictive? by Trepidity · · Score: 2

    The previous doom license allowed you to use portions of the source code in your own programs ("Educational Use"), but did *not* allow you to distribute your own modified versions of the source. Many people (such as GL Doom that you noted above) did anyway, and id didn't seem to care, but nonetheless, this wasn't permitted by the license. The shift to GPL allows you to do this legally now.

    What is more restrictive is that if you only want to use one function from the Doom code in your own program, you'd have to GPL the whole program. Under the old license this was not required.

  13. Misconceptions.. by Anonymous Coward · · Score: 3

    There seem to be a lot of misconceptions here.

    The Doom source code was released roughly two to three years ago, using the Linux source port (But heavily cleaned up), because the DOS stuff still had lame-o sound code which they couldn't distribute. Descent had this problem too when it released soon thereafter. I just figure this is worth saying as most everyone has been stating 'Oh, cool! It's out now!'

    And.. Id has not been making this as a publicity stunt. Carmack has wanted to change the license for quite awhile but he needed signatures from everyone who worked on the original base, and it seems he finally managed to work that up. Not to mention that he has hardly even stated much at /all/ to anyone about this. A reupload, a blurb on Doomworld(marvelous, marvelous doom site, nothing comes close, although it looks like a few of the dynamic injokes got trashed earlier to make up for slashdotting), that's it.

    As far as the source ports themselves go... Yes, there is a GL port. Doom Legacy GL, Doom GL, etc.. Just poke around the Source Ports section of the aformentioned doomworld(.com) site. The currently 'accepted' uber-port, zdoom, does not support this, though. There is a port of *that* coming for Linux soon, however, along with Doom Legacy.

    The engine is a lot more flexible than many people give it credit as well. It's *not* totally outdated, it's merely a different method of handling things.

    Oh well.

    -- Patrick McCarthy, wondering where his login went off to, I didn't delete it but it's not here?

  14. Re:www.golgotha.org by MolochHorridus · · Score: 2

    Its just too easy these days :-)

    Lazy and bored at home.

  15. flood by delmoi · · Score: 2

    The guy, Bruce Lewis was working on an Open GL port of DOOM for 15 months. although he had not reliced the code, he planned to after beta testing. Unfortunetly, he lost *all* his code and his backups in a flood. although other posters had said that it was a hard drive failure, it was not. there were backups made
    "Subtle mind control? Why do all these HTML buttons say 'Submit' ?"

    --

    ReadThe ReflectionEngine, a cyberpunk style n
  16. Re:What a joke! by Anonymous+Shepherd · · Score: 2

    Well, give us a model on how a software house can stay in business if, for example, Id releases the source to QuakeIII?

    Let's give your ideas another spin:

    1. Millions pay Id software to develop the technology to make QuakeIII possible, essentially by buying QuakeII. Id makes money and has incentive to make QuakeIII, as well as buy(and give away) Ferraris.

    2. Id releases QuakeIII, and in memory of all the people who made it possible, release QuakeII source. Competitors and fans alike now have access to the source.

    3. Id embarks on QuakeIV, subsidized by the people who demand it, by buying QuakeIII. Being marginally more challenging and difficult, they decide to hire some cool programmers, who coincindentally grew up around Quake1 and already grok the technology/culture.

    4. Repeat the cycle, and when QuakeIV ships, there is now a source for QuakeIII, and new programmers to hire for QuakeV, who happened to have grown around the QuakeII source.

    So Id makes money by providing technology and games that no one else can. Id has the incentive to do so because we pay them to.

    Id grows the market as well by increasing demand for 3d sound and video cards, SIMD CPUs, faster CPUS, larger/faster/bigger memory/busses/CD-ROMs, which also happens to reduce the price of second best systems, creating more market for their games, as well as other technologies, and increasing the talent pool of programmers.

    In the end everyone benefits, so no one loses. It's a Win for everyone, so there is no need to change the cycle.

    =)

    -AS

    --

    -AS
    *Pikachu*
  17. Source Code Indentation on /. is possible by jfunk · · Score: 2
    It's a pain in the ass, though, We *really* need a
     tag. 

    for (int i = 0; i < 9; i++) {
    printf("I %d the sandbox.\n", i);

    }

    Ooooh, what's that on the second line, you say?

    <BLOCKQUOTE>printf("I %d the sandbox.\n", i);</BLOCKQUOTE>

    Nesting them also works.

    Of course, we really do need <CODE> and <PRE> tags.
  18. Carmack and Open Source by Unknwn · · Score: 5

    John Carmack seems to be doing a _lot_ for the open source community these days. First was the initial release of the Doom source, although it wasn't under an open license, it was still damned cool for the time. Now, he's helping with the GLX project for the Matrox cards (and supposedly doing what he does best, wild and crazy optimizations :) and today releases Doom under the GPL.

    Three cheers for Mr Carmack!

    --
    Jeremy Katz

  19. Re:Quake is GPL now too by Hobbex · · Score: 3


    Noop, Carmack started Quake from a clean sheet when he was tired of all the corners he had coded himself into with the Doom code.

    AFAIK he has not done this since however, so Quake3 is a derivative work of the original Quake source.

    Though of course, what the other reply says (about holding the copyright) still holds.

    -
    /. is like a steer's horns, a point here, a point there and a lot of bull in between.

  20. Doom and GPL by jflynn · · Score: 2

    This is indeed good news. :)

    I worked on the Doom code for about six months as part of TeamTNT's Boom engine effort, and I can definitely say it's both educational and fun. Many projects like mine will probably be converting to the GPL as well now too (we just passed on Carmack's educational license before.)

    There is a link to the Source Ports page from the page the story links to (sorry, slashdotted right now or I'd link) that will get you versions of source for a wide variety of operating systems, including Linux, and with widely varying feature sets. I expect most, and nearly all the Linux versions, will go open source now.

  21. Re:quake by Millennium · · Score: 2

    I'd rate this Flamebait or Troll, but better to actually say why (I really wish you could mod and post in the same discussion).

    You ask why all the most advanced games are closed-source. There are two reasons for this. First, you forget that the eventual goal of the Open-Source movement is to create an entire software platform which is Open-Source. This is a very big job, and it involves far more than just the OS. All sorts of other work has to be done, and a lot (such as office productivity software) isn't done at this point in time. When it comes to coding, games are a pretty low priority to Open-Source developers (playing is another matter entirely).

    Second, Open-Source does have one major disadvantage: initial development times are extremely slow. This is a tradeoff; you often get better code, but you pay for it in spades time-wise. I would point you to Golgotha's site of an example of a highly-advanced Open-Source game in development, but unfortunately I've forgotten where the site is (can someone help me out here?)

    I should also point out that the slowness of Open-Source development time is regained in bugfixing time later.

  22. Re:What a joke! by fizban · · Score: 2

    Exactly! So id software is not really in support of open source development. They are in support of the normal commercial model that everyone else outside the linux community uses.

    Therefore, we shouldn't praise them for their GPL move! It's just a marketing stunt.

    ----
    Lyell E. Haynes

    --

    +1 Insightful, -1 Troll. What can I say, I'm an Insightful Troll.

  23. Thank you John Carmack by HoserHead · · Score: 3
    I e-mailed John not too long ago asking about this, as I wanted to package up lxdoom for Debian. The old Doom license expressly forbid redistribution of any kind, which meant that DOOM and its derivatives couldn't be redistributed, even in the non-free section of Debian.

    I'm greatly appreciative of this, John. I asked for a legally-able-to-redistribute license and you gave us more than we could have ever hoped. Way to go, id!

  24. Doom Source Code by Lando · · Score: 5
    The Doom source code has been available for some time. Looking through the comments, I noticed a lot of people saying that "hey this is cool now I can see the code" The truth of the matter is that the code was released 3 years ago or so, can't remember off the top of my head. There was some work that had to be pulled from the original source because id licensed a third party for the sound engine, but the functionality was there.

    The part that is not generally available are the maps from the game itself. The engine is available, but you have to download and put together your own information. With the proliferation of doom and quake sites this is not a problem.

    John's original intent was to release the source code for each game engine a year after the game was released or when the next game engine was released. Doom and DoomII use the same engine, more or less and when quake was released John released the Doom code, actually a bit later since they had to have someone go in and clean out the third party software and clean up part of the code.

    And now for some URL's

    PlanetQuake probably the formost user site online for quake and doom related material. Any player of these games should not miss this site.

    Quake 2 coding list.

    id Softare id software's main website

    id's source code archive

    planetquake's finger information Latest .plan files from the gaming industries top game designers.

    Where to find the Doom source

    Cdrom and more files, look for various id titles

    Lando

    --
    /* TODO: Spawn child process, interest child in technology, have child write a new sig */
  25. Carmack speaks, first person style. by Wah · · Score: 2

    Here's a recent interview from FiringSquad with the great JC. The guys a total stand-up, quake rocks, fast cars, open source, and he lives in Dallas, the center of all things cool and computery (wireless what?!).

    --
    +&x
  26. Re:I think Gnome has more worthwhile things to do by extrasolar · · Score: 2
    Like getting a decent html widget or internet transparency.

    Or a bonobo componet of the Gnome minesweeper game. Oh wait, they already did that.

    More worthwhile things to do indeed! :)

    --

  27. Good, yes. A complete fix? No. by astyanax · · Score: 3

    They quote Carmack (or someone else at id) as saying "Now everyone has to open up their source." That's not necessarily true. If someone got the Doom source before this license change and made some proprietary changes to it, they are not required to comply with the GPL. They are completely entitled to use the software according to the original license if they choose.

    Imagine if Microsoft gave you a copy of MS Office with a site license, and then said "Ha! We just changed the license! Now you have to pay us One million dollars! They can do that, but only on new purchases/downloads of their software. They can not make you comply with a new license for software that you are already using according to another license.

    This is a very good thing. Unfortunately, if people were not contributing back changes and improvements before, simply changing the license to the GPL now wont necessarily fix that. It will stop it from happening in the future, though. I still applaud this decision in license change, good work id.