Let's say you wrote a mapper that two or more people could collaborate on over thet network (or Internet) while building.  Obvisously, this starts to get to be a complicated piece of software.  Whatever d20 rules are inside the mapper are quite insignificant in complexity compared
to the rest of the code dealing with network issues, syncrhonization, drawing tools, manipulation, rendering, printing, fast shadows, and whatever else the software might have in it not related to d20.

The question is, just what source code has to be made open source?  Just the code dealing with d20 (a small minoriity of the overall code, let's say for example 8% of the lines of code),  or the entire codebase?

If the code was poorly designed and it was hard to separate d20 rules from the rest of the program, I could definately see requiring the entire thing to be made open source, since ripping it apart would make the open source content virtually worthless once out of it's context.

Now, same question, but let's assume the d20 layer has been properly isolated into a single library (.dll) or code archive (.jar).  It is a separateble piece, potentially independent of the rest of the product.  For example, you could build a GURPS version of it and drop it in, the rest of the program doesn't know a thing about what's inside the library (d20, GURPS, whatever), it's a "rules engine black box".  This black box has context outside of the "mapper" program, the rules could be used for any multitude of utilities, maybe even for a game.  If it were still all distributed in one package/download, would you think the entire thing has to be open source, or just the rules library?  This one I'm not so sure on...

Is the answer any different if the rules engine is treated as a separate product, independent of the mapper program?  One that required a separate download, perhaps even a separate purchase?  In this case, it's clear to me that it's definately completely separate and only that piece would require being made open.

I'd really appreciate some thoughts on this, it's a touchy area and very applicable to what we are thinking about doing for our game.  Obviously we won't be using D20STL since it is a game, and while some parts othe game we obviously don't mind making open source (in fact we welcome it), the parts dealing with "platform" issues that have nothing to do with d20 I don't want to have to give out.

Ryan
the *other* Ryan :)


 

Reply via email to