Carmack is my personal hero. I'd like to share this with you:
At 09:59 PM 1/27/2008, you wrote:
>
>Hey John,
>
>How does someone like yourself become a better engineer? I'm
>nineteen, and I dropped out of high school during my senior year to
>work in game development. Your work is inspiring on many levels.
>Were you simply born with the ability to learn very quickly, or was
>it the result of hard work? I'd like to be the best engineer I can,
>but I'm not sure how to keep improving. What are your thoughts?
Using your time effectively is very important, and there is often a
non-linear relationship between the amount of time you can stay
focused and the amount that you can learn or accomplish. It is often
possible to get more done in a highly focused 12 hour stretch than in
a normal 40 hour work week that is interspersed with email, chat, and
other distractions. Someone that can be completely obsessive about
something does have an advantage, but the same questions about focus
apply for any amount of time you choose to devote to an
undertaking. Most people work at only a fraction of their potential.
John Carmack
It profoundly inspired me. From that day to this, I've worked to push my technical ability as far as my brain and body allow.
When I someday succeed in my life's work (to build a game studio), I'll owe it entirely to him.
Oh, he was not humble back in the days. He was often talking about things not even the next-next-next generation would not have and left some people upset. Some random interview from that time http://www.quaddicted.com/magazines/pc_zone_55_october_1997_...
He still delivered amazing technology. I just wanted to make that counterpoint. His personality is rather calm but don't let that fool you.
Before Valve and Gabe-mania my first dev crush was John Carmack. His postings and .plan files where were not only shockingly open and honest, but, I guess, genuine... it was apparent that here was a very successful man that was like me...an unrepentant nerd and geek! It is nice to know that that attribute of the company in general has not changed.
Every once in a great while I will get the feeling that I am the most productive coder on the planet. Then I remember Carmack's .plan files and am humbled.
The collision in namespace is amusing. For a second I thought this was about a modern open source compiler for the programming language called Id. It was an influential language with strong stress on functional style implicit parallelism and efficient array like data structures called I-structures. I would kill to play around with such a tool. (and kill double if a free CM-5 came with it)
The real deal is no less exciting. The clash in name space does not end there. Cormac is the first name of one of the developer's of a distributed memory implementation of the language called phLuid.
It will be interesting to see how id (or Carmack himself) will react to eventual pull requests. As far as I know the code has been frozen once released as Free Software on id FTP server.
I really doubt they'll react at all. id releases source code when they're done with it. There's little reason for them to invest much time in a commercially dead codebase, they've always got new stuff to work on.
Id Software feels like an anomaly regarding to open source in video games. In web development for example there is such a strong and diverse community supporting frameworks and libraries under permissive licenses. Why hasn't something like it happened with video games?
1. Consoles. This could be due to wanting to keep libraries in-house as a competitive advantage, or just due to console-maker licensing restrictions.
2. There is more competition. For the most part, all games are competing for the same audience within genres, and there is a lot of cross-genre intersection of audiences (e.g. people that are into both JRPGs and fighting games). On the other hand, there doesn't necessarily need to be as much cross-over between the intended audience of web sites.
3. There are fewer complementary products (related to #2). GMail doesn't compete with eBay, but Mario competes with Sonic.
4. 'The Evil Empire' A good portion of game development now happens under the Electronic Arts umbrella (at least as I understand it). Their corporate culture seems to scream 'big company' with all of the stories of them living off of the life that they suck out of new hires working 80+ hour weeks.
It'd be really interesting to see more game development companies from the 80's and 90's release the source code for old abandonware. I was hoping to see Commander Keen (one of my favorite old games from my youth) on this list, but apparently it's still closed source.
Carmack is in a perfect position to provide another boon to the free software world: a license that doesn't allow unlimited redistribution by every recipient.
I know this isn't "free software" per Stallman's definition (precludes freedom 2), so don't all rush to flame me at once here. I believe, however, that the GPL's requirement that all software can be resold and redistributed by any recipient has been a big blight on the image of open-source software and has caused companies to actually tighten up lest their software and work become entirely unprofitable.
Someone needs to write a license that can be easily reused which a) releases all source code and requires the release of derivative versions, b) allows derivative works by users who own a license (perhaps up to a certain commercial limit) and allows them to share their changes with other licensed users, and c) restricts distribution of the code or any of its derivatives to persons whom the recipient in good faith believes to have a valid license to the software.
Unfortunately the GPL has ingrained in people that releasing source is the same as negating your whole investment. I don't believe things have to be this way. I believe that every software owner deserves a copy of the source, but I don't believe that every software owner has the right to redistribute that program practically without limitation as the GPL allows. If we have someone to lead the way in profitable source releases, I believe many companies will follow and at least part of the free software vision would be fulfilled: source code would come distributed with every program.
Companies like id who resell their engine techs to other commercial developer studios would still be able to do so due to the commercial limitations in such a license and the requirements to own a valid license for id's particular piece of software and the code wouldn't have to wait five years to see the world. Anyone with the money to pay for the license isn't going to infringe because they know the court costs would be futile and cost 3x+ as much as just buying a license straight out. The open-source contributions could be incorporated into the commercial editions immediately (and hopefully vice-versa). I really don't think id et al have much to lose from this approach, so I hope someone would do it.
id is not beholden to a large corporate publisher and Carmack clearly has the interest and understands the benefit behind a source release. Carmack has the vision to do something like this, imo, and I really hope he does.
Short answer: no, FOSS couldn't possibly work without the ability to modify and redistribute, and licenses that attempt to suggest otherwise get rightfully rejected before they can proliferate. Source code has little value without the right to make and distribute modified versions. Attempts to create open ecosystems around proprietary products typically turn out badly, with very few exceptions.
Also, since you brought up engines like id's, I'd point out that copyleft licenses like the GPL make it trivial to profit even if releasing the engine on day 1, given that the numerous makers of games based on those engines don't want to ship their entire game under the GPL.
I'm trying to wrap my head around this comment. You're saying that GPL isn't restrictive enough to provide the security for businesses to open-source their work? GPL is very restrictive, more so than most other open-source licenses, which is why businesses usually release under Apache/MIT/BSD.
If a business is worried that their open-source software is going to backfire and feed the competition, they have no interest in open-sourcing their software in the first place, and no license restrictions will help them.
GPL's other effects (forcing businesses to open-source software they make modifications to, which are covered under the GPL) are good enough.
> I believe that every software owner deserves a copy of the source, but I don't believe that every software owner has the right to redistribute that program practically without limitation as the GPL allows.
I'm not sure you realize how unrealistic that artificial approach is becoming.
No assets released, which is a problem for the following reasons:
- Piece of history lost
- Makes it harder to boot up anything because not a complete, running application.
- Derivatives of the art are impossible
- Artists will have a hard time starting to tweak things, because there's nothing to tweak.
- Coders will despair trying to provide even a basic set of art (because we're usually crap at art) so they could start poking at the code.
Sadly, this "here you have the source, off you go" thing seems to be very prevalent, and it always irks the hell out of me.
If you don't want to release everything, alright, that's workable. But something, at least some basic art, say the first level or whatever suits you. I don't get it why that should be a bad thing. I also don't get why people seem to think that idea is bad.
While I would like to see it, absolutely, it misses the point a bit in regards to how Carmack is approaching this.
He's a tech guy, first and foremost. He's been dedicated to releasing the source to his games, because he's dedicated to sharing the tech that went in to these games. To the point that he went back and made changes to the Doom 3 source[1], at the time a four year old game, to appease the lawyers who were shy to allow them to release it because of software patent concerns.
If you're looking for the game, then yes the source is useless to you. If you're looking to learn what went in to the game to make it work, the source is literally invaluable. With art assets, it would be better. But by itself it is such a precious treasure. No one else in the industry is releasing the code to their AAA multi million dollar budget games. There are not enough words to describe the value of the contributions Carmack has dedicated to open source and release.
A colleague and close friend of mine directly attributes his early programming days to the fact that he was able to take the Quake 2 source and hack away on it. He's now a programmer in the games industry. You just cannot put a value on that kind of knowledge and examples and source being freely available. It sings to the core tenant of what Free as in Freedom is all about.
If you feel the need to own the assets, you can get Quake 2 for $2.50 from Amazon. Though I suppose it's harder to be a curmudgeon about ID if you look for solutions like that.
[+] [-] bittermang|14 years ago|reply
Most of which because the man is too humble to accept any of it.
[+] [-] palish|14 years ago|reply
When I someday succeed in my life's work (to build a game studio), I'll owe it entirely to him.
[+] [-] Caligula|14 years ago|reply
[+] [-] aw3c2|14 years ago|reply
He still delivered amazing technology. I just wanted to make that counterpoint. His personality is rather calm but don't let that fool you.
[+] [-] atomicdog|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] mikehuffman|14 years ago|reply
[+] [-] alanning|14 years ago|reply
[+] [-] srean|14 years ago|reply
The real deal is no less exciting. The clash in name space does not end there. Cormac is the first name of one of the developer's of a distributed memory implementation of the language called phLuid.
http://en.wikipedia.org/wiki/Id_%28programming_language%29
http://en.wikipedia.org/wiki/CM-5
[+] [-] program|14 years ago|reply
[+] [-] aw3c2|14 years ago|reply
[+] [-] VMG|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] nknight|14 years ago|reply
[+] [-] idonthack|14 years ago|reply
[deleted]
[+] [-] stephth|14 years ago|reply
[+] [-] pyre|14 years ago|reply
2. There is more competition. For the most part, all games are competing for the same audience within genres, and there is a lot of cross-genre intersection of audiences (e.g. people that are into both JRPGs and fighting games). On the other hand, there doesn't necessarily need to be as much cross-over between the intended audience of web sites.
3. There are fewer complementary products (related to #2). GMail doesn't compete with eBay, but Mario competes with Sonic.
4. 'The Evil Empire' A good portion of game development now happens under the Electronic Arts umbrella (at least as I understand it). Their corporate culture seems to scream 'big company' with all of the stories of them living off of the life that they suck out of new hires working 80+ hour weeks.
[+] [-] talmand|14 years ago|reply
[+] [-] timothya|14 years ago|reply
[+] [-] albertzeyer|14 years ago|reply
There is a compatible Open Source clone, though: http://clonekeenplus.sourceforge.net/ (Disclaimer: I work on that project.)
Btw., a very nice history of Keen (also referencing some of the licensing issues): http://www.3drealms.com/keenhistory/index.html
[+] [-] jf|14 years ago|reply
[+] [-] cookiecaper|14 years ago|reply
I know this isn't "free software" per Stallman's definition (precludes freedom 2), so don't all rush to flame me at once here. I believe, however, that the GPL's requirement that all software can be resold and redistributed by any recipient has been a big blight on the image of open-source software and has caused companies to actually tighten up lest their software and work become entirely unprofitable.
Someone needs to write a license that can be easily reused which a) releases all source code and requires the release of derivative versions, b) allows derivative works by users who own a license (perhaps up to a certain commercial limit) and allows them to share their changes with other licensed users, and c) restricts distribution of the code or any of its derivatives to persons whom the recipient in good faith believes to have a valid license to the software.
Unfortunately the GPL has ingrained in people that releasing source is the same as negating your whole investment. I don't believe things have to be this way. I believe that every software owner deserves a copy of the source, but I don't believe that every software owner has the right to redistribute that program practically without limitation as the GPL allows. If we have someone to lead the way in profitable source releases, I believe many companies will follow and at least part of the free software vision would be fulfilled: source code would come distributed with every program.
Companies like id who resell their engine techs to other commercial developer studios would still be able to do so due to the commercial limitations in such a license and the requirements to own a valid license for id's particular piece of software and the code wouldn't have to wait five years to see the world. Anyone with the money to pay for the license isn't going to infringe because they know the court costs would be futile and cost 3x+ as much as just buying a license straight out. The open-source contributions could be incorporated into the commercial editions immediately (and hopefully vice-versa). I really don't think id et al have much to lose from this approach, so I hope someone would do it.
id is not beholden to a large corporate publisher and Carmack clearly has the interest and understands the benefit behind a source release. Carmack has the vision to do something like this, imo, and I really hope he does.
[+] [-] JoshTriplett|14 years ago|reply
Also, since you brought up engines like id's, I'd point out that copyleft licenses like the GPL make it trivial to profit even if releasing the engine on day 1, given that the numerous makers of games based on those engines don't want to ship their entire game under the GPL.
[+] [-] dissident|14 years ago|reply
If a business is worried that their open-source software is going to backfire and feed the competition, they have no interest in open-sourcing their software in the first place, and no license restrictions will help them.
GPL's other effects (forcing businesses to open-source software they make modifications to, which are covered under the GPL) are good enough.
> I believe that every software owner deserves a copy of the source, but I don't believe that every software owner has the right to redistribute that program practically without limitation as the GPL allows.
I'm not sure you realize how unrealistic that artificial approach is becoming.
[+] [-] mumrah|14 years ago|reply
[+] [-] dan00|14 years ago|reply
[+] [-] libin|14 years ago|reply
Thank you, Id!
[+] [-] jaredsohn|14 years ago|reply
[+] [-] pmr_|14 years ago|reply
[+] [-] pyalot|14 years ago|reply
- Piece of history lost
- Makes it harder to boot up anything because not a complete, running application.
- Derivatives of the art are impossible
- Artists will have a hard time starting to tweak things, because there's nothing to tweak.
- Coders will despair trying to provide even a basic set of art (because we're usually crap at art) so they could start poking at the code.
Sadly, this "here you have the source, off you go" thing seems to be very prevalent, and it always irks the hell out of me.
If you don't want to release everything, alright, that's workable. But something, at least some basic art, say the first level or whatever suits you. I don't get it why that should be a bad thing. I also don't get why people seem to think that idea is bad.
[+] [-] bittermang|14 years ago|reply
He's a tech guy, first and foremost. He's been dedicated to releasing the source to his games, because he's dedicated to sharing the tech that went in to these games. To the point that he went back and made changes to the Doom 3 source[1], at the time a four year old game, to appease the lawyers who were shy to allow them to release it because of software patent concerns.
If you're looking for the game, then yes the source is useless to you. If you're looking to learn what went in to the game to make it work, the source is literally invaluable. With art assets, it would be better. But by itself it is such a precious treasure. No one else in the industry is releasing the code to their AAA multi million dollar budget games. There are not enough words to describe the value of the contributions Carmack has dedicated to open source and release.
A colleague and close friend of mine directly attributes his early programming days to the fact that he was able to take the Quake 2 source and hack away on it. He's now a programmer in the games industry. You just cannot put a value on that kind of knowledge and examples and source being freely available. It sings to the core tenant of what Free as in Freedom is all about.
[1]http://www.tomshardware.com/news/DOOM-source-code-depth-fail...
[+] [-] nanexcool|14 years ago|reply
That'll get you every asset you need. Also it always gets a discount during Steam sales. You can probably get it for 30 bucks if you time it right.
[+] [-] liquid_x|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] aeturnum|14 years ago|reply