Page 3 of 4
Posted: Tue Mar 30, 2010 3:11 pm
by blargg
neilbaldwin, is it a cure for cancer? If not, try the 2-clause BSD license. If it works out badly, at least you know for sure what not to use in the future. Regardless of how it works, it'll give you experience to base your next license decision on (it's easy to imagine all sorts of situations and worry about the license addressing them).
Bregalad, exactly. That's literal code theft, and a very bad thing if you lack a backup. The thief might not even have wanted the code, but got it along with your computer when he stole it.
Posted: Tue Mar 30, 2010 3:40 pm
by Banshaku
blargg wrote:If you use GPL code in your program, your program must be licensed under the GPL as well. But note that commercial use doesn't violate the GPL. The GPL isn't anti-money, it's pro-freedom (for users, that is). That's why using GPL code in your program obligates you to make your program free as well. The authors of the module don't want it contributing to non-free programs, so they use the GPL.
So your software become GPL and you have to release the source then. hmmm.. I will need to read more about it to understand the ins and out. Some software I don't mind at all to release the code but if for some reason one of them I need to not release because of a contract or something, I was not aware of that part. So that why some people were saying "becoming infected" by the GPL. That felt strange as a comment but I can see why now. And I can now see why Nintendo doesn't want any GPL for commercial games.
Posted: Tue Mar 30, 2010 3:49 pm
by ReaperSMS
Remember that the license has absolutely nothing to do with what you yourself can do with the code.
That said, the usual sort that'd try to exploit something commercially without asking are also the sort that you probably don't have the time, resources, or ability to bring to task for it -- hong kong shops and whatnot, or a shovelware set-top box type thing. For things I would bother releasing, I tend to go with the simplified BSD license. The GPL isn't really designed for handling things like hardware ROMs or verilog stuff though.
@Banshaku: it depends entirely on how that module is used by your code (specifically if it falls under the linking clause or not), and whether the module is the GPL or LGPL. You can link to LGPL code without having to open your entire project, but to satisfy the license you must provide your code in a form that can be relinked against other versions of the LGPL'd code. Usually, a dynamic linked binary satisfies that. For GPL code, about the only way to include it without opening your program is for the interaction to be completely walled off, process pipe style.
Posted: Tue Mar 30, 2010 3:59 pm
by jbuonacc
again, what's the worst that could happen?
as far as i can see, neither LSDJ nor Nanoloop states any sort of license agreement and nothing has come of it. of course Nanoloop is protected due to the saving scheme (the free ROM 'demo' won't save via flash cartridge or emulation) and while i'm sure there's been a number of people who have used the full version of LSDJ without paying for it, i'm not sure how much of an issue this has been. then again, you're not trying to sell NTRQ, but (as far as i can tell) only suggesting that people make a donation to cancer research for its use.
the main problem i could see coming up is people selling it on a cartridge for (possibly obscene amounts of) pure profit. but again, you could most likely take care of this yourself so that it wouldn't be an issue. i don't really see any need for you to release the source code though, that might just be leaving the door open for possible trouble.
sorry if i sound counter-productive, i just see licensing as paranoia which is generally without need. if i release an album for free on the net, does it *really* make any difference if/how i license it? people are going to do what they will, and just how would i go after someone in Bulgaria that decided to sample it anyway?
Posted: Tue Mar 30, 2010 6:05 pm
by blargg
Banshaku wrote:So your software become GPL [if you incorporate GPL'd code] and you have to release the source then. [...] So that why some people were saying "becoming infected" by the GPL.
It's only an infection if you view freedom as a disease, as many IP holders do. If you use a proprietary library in your program, you will also have to adjust your program's licensing and likely pay the company as well.
Posted: Tue Mar 30, 2010 6:53 pm
by Banshaku
I don't see freedom as a disease, just refer to the comments I read in the past. I didn't know GPL went that far since I never had to deal with it. There is some case that code cannot be released (contract, etc). I would be more than happy to mention and promote the fact that I'm using X library/module/source etc and release any update to the module, if any. It doesn't mean that I can open the rest of the code.
I don't think I ever used in a commercial product any GPL code. I will just have to make sure I don't do it by accident then. I just definitely need to read and understand it then. Thanks for the information.
Back to the original thread, licensing seems a pain in the butt now after reading that thread

Posted: Tue Mar 30, 2010 7:13 pm
by Orsi
It's amazing to me how people can scoop up ideas from the public domain and then sue others for coming near there own derivative of it. You would think someone could defend themselves by simply referring to the original public domain idea, but that would make too much sense for some.
The only solution I believe is for the majority of us to suck it up for a bit and just pour free stuff into the public domain, let the bastards have their greedy hands on it all, and let their own avariciousness cause their downfall by drawing the attention of everyone towards what they are doing. If we keep being afraid of putting our stuff in the public domain they'll always be just under the radar for anyone to take notice, so we should play to their vice and let them get caught red handed. Until then, we'll keep being paranoid and everyone's creativity will have to suffer because of it.
Or maybe all my idealistic Latin authors are getting to me, haha. Adiuva viros bonos! Si coniungimus, deinde malos superare possumus.
Posted: Tue Mar 30, 2010 8:19 pm
by blargg
Banshaku wrote:There is some case that code cannot be released (contract, etc). I would be more than happy to mention and promote the fact that I'm using X library/module/source etc and release any update to the module, if any. It doesn't mean that I can open the rest of the code.
The GPL doesn't care of the cause, simply the effect: curtailed user freedom. Authors of GPL code don't want to help projects that restrict users simply for the benefit of the authors (e.g. making a product scarce to inflate its value, giving the authors power over users, etc.). They want users to have all the same options as the author does regarding improvement and distribution of the code. You have to decide what principles you value, and choose projects accordingly. If you are OK working on a closed-source project, you can't used GPL code on that project, even if you'd prefer for it to be open. By working on that project, you're helping bring another closed-source program into existence, clearly at odds with the GPL's purpose.
I don't think I ever used in a commercial product any GPL code. I will just have to make sure I don't do it by accident then.
Again, the GPL isn't anti-commerce; it's pro-freedom. You can sell products incorporating GPL code (and many companies do this). The idea is that the product itself isn't unncessarily restricted. If you want to commercialize it, you'll have to do so without artificial restrictions that are there simply to raise its value on the market.
It's generally pretty simple to choose a license: Modified-BSD (i.e. public domain), GPL/LGPL, or something proprietary. There are variants, but those are the main categories. Modified-BSD style is if you don't really care and just want to avoid being sued for bugs in your code. GPL style is if you want to leverage the value of your code in achieving wider social goals. I know the Creative Commons licenses are another group that also aim for wider social goals. And then proprietary is when you want to keep the source closed and be paid by developers who use it. All but the first require alignment of your project's license, since it must fit in with the wider goal of the library's license.
Apologies for repeating these points so many times; for some reason lack of knowledge of the GPL bothers me.

Posted: Tue Mar 30, 2010 9:01 pm
by Drag
I just got done reading up on these licenses, and I think the zlib license is pretty nice:
Don't claim you wrote the original software
Modified versions of the software need to be indicated as such
Don't claim the modified version is the original version
Use of the software may be acknowledged, but it's not required
Plus the usual "don't sue us for bugs that may be in here" disclaimer.
However, this license allows for commercial distribution. I'm wondering if it'd be possible to add another clause for the license, restricting unconditional commercial distribution.
I personally don't mind if someone uses my stuff in a game they sell (see: Sivak), but this particular license doesn't prevent authors from adding additional conditions, just as long as the present ones aren't removed. So I'm thinking the addition of a "Don't use this code for something commercial unless I give you permission" wouldn't be a big deal, would it?
Posted: Tue Mar 30, 2010 9:21 pm
by tepples
Wierd_w wrote:My personal take on artwork assets, is that I don't want my original work to be used by a monied/corporate interest, but have no qualms whatsoever if they modify the artwork, then use their own modified artwork for commercial purposes. (As long as they explicitly state that the work is derived from my free sources, and RESPECT those free sources.)
Then a "permissive" license like CC-BY or the FreeBSD license or the GNU All-Permissive License is for you. They ensure you get credit, at least in the copyright notice (e.g. "portions copyright 2010 Joe Bloggs").
The added effort of trying to sort out which license is best suited to what material, how to ensure that the properties are respected the ways you want them to be, and all that SHIT, is VERY de-motivating.
I strongly suspect that it is one of the main reasons why there are so few prolific "Free" artists out there. It is just too hard to release for free.
I thought this was exactly the sort of problems that Creative Commons licenses were supposed to solve.
However, [a non-free fork of ReactOS] didn't change anything except the bootup screen, and so a binary comparison of the compiled binaries gave it away.
They should have used a source code shuffling program like the one I'm going to release with the next version of Concentration Room
You can't release "Sourcecode" for artistic works.
"Source code" is the editable file. In the case of a bitmap image, this would be a lossless layered file such as .xcf or .psd.
Banshaku wrote:Let say someone makes a module that is GPL. I decide to use this module in my program. My product could become a commercial one. I mention the fact clearly that I'm using their module. Does that mean my program becomes GPL and must give away the code or only the modification to the module, if any?
It depends on how you "use" the module. If you use the module only through a documented stream-style interface, such as a pipe or socket, the GPL FAQ considers this to be aggregation of two programs, not combining modules into one program. Otherwise, your program becomes GPL.
And as blargg pointed out, you can still distribute copies of a GPL program for a fee. Red Hat Enterprise Linux contains GPL code, yet it is distributed for a fee.
Bregalad wrote:If a thief comes into my house takes my computer and all USB keys that lies around with backups in them
Then I'd be two weeks behind. Ever since my laptop died, I've been keeping daily backups of my project files on a USB stick, and now I switch sticks at a relative's house every 2 weeks. Off-site backup helps deal with FBI raids, natural disasters, etc.
blargg wrote:neilbaldwin, is it a cure for cancer?
The only cure for
cancer is to forbid having sex in the first month of fall (northern hemisphere) or spring (southern hemisphere). I wholeheartedly recommend
against this
Banshaku wrote:And I can now see why Nintendo doesn't want any GPL for commercial games.
Popular copyleft licenses such as the GPL explicitly do not "infect" basic system libraries.
blargg wrote:If you want to commercialize it, you'll have to do so without artificial restrictions that are there simply to raise its value on the market.
Is there any way to do this for, say, a video game? The typical model for commercializing free software is to sell related services, but games that do not rely on a network typically don't need related services.
Drag wrote:I'm wondering if it'd be possible to add another clause for the license, restricting unconditional commercial distribution.
You'll have to be careful with this clause. Distributing a copy on CD-R in return for a blank CD-R is "commercial distribution" under the strictest definition. If you want zlib with some restrictions on commercial distribution, then as I said before, start with the license of PhyreEngine. You could always add a copyleft clause, as Sleepycat Software did with the FreeBSD license to make the license of Berkeley DB, to break the business model of anyone who would take your code proprietary.
Posted: Tue Mar 30, 2010 9:40 pm
by Banshaku
tepples wrote:Is there any way to do this for, say, a video game? The typical model for commercializing free software is to sell related services, but games that do not rely on a network typically don't need related services.
For current games, I don't think you can use any kind of these licenses. There is so many NDA, shelf live of product, trade secrets etc etc (headache) that you wouldn't be able to use such a license (GPL). Just my opinion (but now we're derailing the main thread, again

)
Posted: Tue Mar 30, 2010 10:16 pm
by ReaperSMS
The general use of (L)GPL code with commercial games hit one of these four categories:
GPL engine/code, proprietary data. -- Essentially what the old idTech engines do now.
Proprietary engine and data, dynamically linked with LGPL support libraries. This is what Loki did to release games on linux using SDL. The CD also tended to contain a static linked binary to smooth out libc distribution issues. Any modifications you make to the LGPL portions have to be released with source, and endusers must be able to use different versions of the LGPLd libraries.
Built with GPLd tools, but not linked against them -- what almost every single platform other than the xbox 360 does. Build with the GCC toolchain, everything else is proprietary or one of the first two options. GCC, binutils, flex, and bison all have explicit exceptions for generated programs, such that the GPL doesn't apply. Bison used to be more restrictive, but someone realized that that made it pretty damned useless.
Find the copyright holders and negotiate a deal under a different license, or take advantage of a Dual License thing. In this case, the code you're using is avaliable under the GPL, or, for a fee, a license that allows one to link/modify/etc without releasing source.
As for the no GPL on nintendo thing, whether their libraries would be covered by the system lib exception is moot, as the entire API would still be exposed.
Posted: Tue Mar 30, 2010 11:50 pm
by blargg
tepples wrote:Is there any way to do this for, say, a video game? The typical model for commercializing free software is to sell related services, but games that do not rely on a network typically don't need related services.
Include a nice color manual, perhaps a numbered, limited cartridge release, and access to a private forum where you can give input for future games. Just some random ideas. These will contribute actual value that players will appreciate.
Drag wrote:However, [the zlib] license allows for commercial distribution. I'm wondering if it'd be possible to add another clause for the license, restricting unconditional commercial distribution.
I highly recommend using one of the common licenses. Avoid uncommon ones, and especially avoid ones you write/modify yourself. Anyone using your work will thank you for it, because the common ones and their cross-compatibility is documented in many places. Note that it might be best to first craft what your own license would look like, then see how close one of the common licenses comes.
Posted: Wed Mar 31, 2010 9:22 am
by Wierd_w
Tepples:
Yeah, that is the sort of thing that the CC licenses try to resolve, but again, "Which" CC license are you referring to? That's the issue. The ambiguity causes confusion, and leads to additional work that an artist really doesn't want to do. To me, artwork is a bit like talking; if you needed to hunt down a suitable license for everything you wrote down, or said to friends, would you be more, or less talkative?
(RE: code obfuscation)
Now now, that's just not nice.
(RE: Source code)
Sadly, I do almost all of my pixel art in MS Paint; Thus, no layers. Just bitmaps, palettes, and mental exhaustion. (Recently created a 4k color palette by hand, for instance. Not worth my time, other than the fact that MS Paint lacks good palette support, and I wanted more than 256 colors.)
(RE: "Value Added" for retail versions)
I agree with Blarg on this; Add neat stuff, like a wall poster containing concept art, or a highly artistically rendered game climax moment. (Many game artists also draw or paint.) You could add a pewter miniature, or in the case of your Concentration Room game, A paper travel version on printed cardstock. Things that won't translate well in a scanned copy included in a ZIP file. (Posters often have their images printed using a moire pattern, which causes nasty artifacting when scanned. This is because of the 3-layer stamp lithography technique used for mass manufacture; this is a bonus in this case. Pewter miniatures cannot be digitally transmitted at all, and generic inkjet on cardstock is inferior to a commercially prepaired job that uses quality papers, inks, and coatings.)
A spiffy box to decorate the shelf with is a perk too. (Too many publishers give you a poorly constructed item made from dead trees, which is not very durable.)
Granted, each of those will increase unit price, and including more than one would require you to have a major seller to benefit from economies of scale; But, if you are expecting *VERY LOW* sales volumes, you could include perks that are hand made, rather than mass manufactured. (Airbrushed posters, that are unique, for instance.) You would leverage the artist by saying it is good exposure, and that they can spam their name on the poster to show off their stuff. Pride can be a real leverage point for artists.

Posted: Wed Mar 31, 2010 9:50 am
by tepples
Wierd_w wrote:Yeah, that is the sort of thing that the CC licenses try to resolve, but again, "Which" CC license are you referring to?
Whether the artist wants copyleft or non-free restrictions on the work is up to the artist. The free ones are CC-BY (permissive) and CC-BY-SA (copyleft); the no-derivatives and non-commercial restrictions make a work non-free in the GNU sense.
The ambiguity causes confusion, and leads to additional work that an artist really doesn't want to do. To me, artwork is a bit like talking; if you needed to hunt down a suitable license for everything you wrote down, or said to friends, would you be more, or less talkative?
Most "talking" isn't intended to be incorporated verbatim into a product.
Sadly, I do almost all of my pixel art in MS Paint; Thus, no layers. Just bitmaps, palettes, and mental exhaustion.
If you work without vectors or layers, the bitmap file is the source code because it is the form that you edit. In that way, it's a lot like a program written in PHP or Perl or Python.
You could add a pewter miniature, or in the case of your Concentration Room game, A paper travel version on printed cardstock.
Heh.
A spiffy box to decorate the shelf with is a perk too. (Too many publishers give you a poorly constructed item made from dead trees, which is not very durable.)
Did anyone ever make keep cases for NES carts? They did for DVDs, mini-DVDs, DS carts, and early Genesis carts.