[8bpp] Graphics Replacement Project - OpenGFX License
Moderator: Graphics Moderators
Re: [8bpp] Graphics Replacement Project - OpenGFX License
The question as I see it is wether pcx is it's own source or not. I really hope that DaleStan is not arguing that the source a sprite would be for example photoshop format of the sprite with layers and stuff because that would imply that compiling OpenTTD would require Photoshop and GPL requires that tools needed to compile the work are part of the source.
-
- Engineer
- Posts: 17
- Joined: 18 Jul 2004 18:19
Re: [8bpp] Graphics Replacement Project - OpenGFX License
Posted in the hope that this might be usefull to this discussion.
In SuperTuxKart we have a similar situation to game data as in OpenTTD: Characters, tracks and objects are usually created in Blender (people may use other modellers) and must be converted to ac3 files. Tracks also need a "driveline" file.
We had this 'funny' discussion about the sources for the game data long ago. Our resolution was:
We put the processed game data into SVN so that you can use it right away when the game is compiled.
Additionally we have a stk-media directory in the SVN which contains most but not all of the .blend files for the tracks, characters and whatnot. Ideally we would like to have this kind of source for all data but that was impossible since some stuff was simply not made with Blender.
The stk-media directory is not part of trunk/ so people will not check it out by accident (its quite big) and is more loosely managed. The important point in having as much of the source media as possible is the availability for future contributors to take a look at it and modify it if needed.
By the way: All contributors (programmers + artists) get their attribution. They are mentioned in the 'about' screen and there is also a data/CREDITS file listing everyone name and kind of contribution.
I really suggest you find a similar solution. One of the things I do for the F/OSS world is that I maintain the OpenTTD build recipe in OpenEmbedded. So my suggestion is not the word of someone unrelated. What you people decide here affects me directly. I really hope that soon people will be able to just install the "openttd" package and can play right away the game with OpenGFX's data.
In SuperTuxKart we have a similar situation to game data as in OpenTTD: Characters, tracks and objects are usually created in Blender (people may use other modellers) and must be converted to ac3 files. Tracks also need a "driveline" file.
We had this 'funny' discussion about the sources for the game data long ago. Our resolution was:
We put the processed game data into SVN so that you can use it right away when the game is compiled.
Additionally we have a stk-media directory in the SVN which contains most but not all of the .blend files for the tracks, characters and whatnot. Ideally we would like to have this kind of source for all data but that was impossible since some stuff was simply not made with Blender.
The stk-media directory is not part of trunk/ so people will not check it out by accident (its quite big) and is more loosely managed. The important point in having as much of the source media as possible is the availability for future contributors to take a look at it and modify it if needed.
By the way: All contributors (programmers + artists) get their attribution. They are mentioned in the 'about' screen and there is also a data/CREDITS file listing everyone name and kind of contribution.
I really suggest you find a similar solution. One of the things I do for the F/OSS world is that I maintain the OpenTTD build recipe in OpenEmbedded. So my suggestion is not the word of someone unrelated. What you people decide here affects me directly. I really hope that soon people will be able to just install the "openttd" package and can play right away the game with OpenGFX's data.
Re: [8bpp] Graphics Replacement Project - OpenGFX License
No. Have to include the source, yes. But that's not necessarily the PCX files, If the PCXen are automatically generated, then they are obviously not a part of the source and need not be included. It is, of course, allowable to include them, but it is neither necessary nor sufficient.FooBar wrote:So if we release the grf files, we have to include the source, which are the NFO and the PCX files. So far everybody agrees (hopefully).
Also, do not confuse "prior versions" with "source code". The source code for OpenTTD 0.5.0 need not be included with any distribution of any later version, except where the versions happen to share the same source.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
-
- Tycoon
- Posts: 1656
- Joined: 08 Jun 2007 08:00
Re: [8bpp] Graphics Replacement Project - OpenGFX License
I already told this example, but let me try again..DaleStan wrote:No. Have to include the source, yes. But that's not necessarily the PCX files, If the PCXen are automatically generated, then they are obviously not a part of the source and need not be included. It is, of course, allowable to include them, but it is neither necessary nor sufficient.FooBar wrote:So if we release the grf files, we have to include the source, which are the NFO and the PCX files. So far everybody agrees (hopefully).
I write a lua script with notepad and save it to txt format. Then I open luaEdit and convert the txt file into lua file (open - save as, note that I don't change anything there actually, only resave).
Then I compile the lua script.
Then I want to release the compiled version under some GNU/GPL licence. For source should I include the *.lua file or *.txt?
I'd say *.lua. + it would be the easiest way to modify it.. As is pcx for grfs, unless you are into resaving compiling (or directly changing byte values)
Re: [8bpp] Graphics Replacement Project - OpenGFX License
No... we are not releasing the .pcx files as the GPL'd item; they are the source items for the subject product being released. It was never the intent of the GPL or any other license to recursively apply the rules to all elements.FooBar wrote:Let's get this clear now...
So if we release the grf files, we have to include the source, which are the NFO and the PCX files. So far everybody agrees (hopefully).
Now because we include the PCX files, we also have to include the source of those (being a second order source)
If we were filling out a form for this, there would be a box "1) What are you releasing?" ... A .grf. "2) Please supply the sources for this item." ... A .pcx and a .nfo. The form would not then say, "For each of the items listed as sources of 1), please complete another license form" ... (until the world runs out of paper).


Sometimes I wonder just how disconnected from practical reality some of the posters on this board can get.

OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Re: [8bpp] Graphics Replacement Project - OpenGFX License
So you're suggesting that the output of yacc/bison is the source, and their inputs are just some potentially interesting ancillary data?richk67 wrote:No... we are not releasing the .pcx files as the GPL'd item; they are the source items for the subject product being released.
Or maybe you're suggesting that the input to GNU ld is the source, and the C code is just some potentially interesting ancillary data?
If you would use the blender file to make the sprite twice as large, the blender file is the source. If you would use the blender file to change the colors, the blender file is the source. If you would use the blender file to shorten the nose -- either for appearance or because the nose just plain too long -- the blender file is the source.
In the first case, you're being an idiot for not using luaEdit in the first place. And/or for not saving as lua from Notepad. Which can do that, contrary to popular belief.LordAzamath wrote:I already told this example, but let me try again..
I write a lua script with notepad and save it to txt format. Then I open luaEdit and convert the txt file into lua file (open - save as, note that I don't change anything there actually, only resave).
In the second case, this falls flat unless you are manually drawing a PNG and then using $IMAGE_EDITOR to convert it to PCX. If that is the case, then the PCX file would be quite acceptable as source. If you use some program to generate whatever gets converted to PCX, then this doesn't even begin to apply.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Re: [8bpp] Graphics Replacement Project - OpenGFX License
Let my try and explain the whole process of creating the final grf files:
1) Graphics were drawn either by pixel pushing or 3D modeling. This resulted in files with either intermediate pixel-pushing steps or save from the 3D modeling software.
2) Models were made into sprites and copied to a new file only including the sprites required for encoding.
3) NFO files were written to accompany the files from step (2).
4) Many grf files were encoded for different groups of sprites of step (2) and (3).
(these files were released as partial grf files in the topic on this forums)
5) The partial grf files were then again decoded.
6) Pieces of NFO coded from step (5) were put together into new NFO files with the sprites in the correct order.
7) The NFOs of step (6) were encoded with the PCX files of step (5) into the final opengfx*r.grf files.
Now define source for the final opengfx*r.grf files.
I'd say the decoded results of step (5), as step (1) through (4) were completely irrelevant for me in the process creating the result of step (7).
1) Graphics were drawn either by pixel pushing or 3D modeling. This resulted in files with either intermediate pixel-pushing steps or save from the 3D modeling software.
2) Models were made into sprites and copied to a new file only including the sprites required for encoding.
3) NFO files were written to accompany the files from step (2).
4) Many grf files were encoded for different groups of sprites of step (2) and (3).
(these files were released as partial grf files in the topic on this forums)
5) The partial grf files were then again decoded.
6) Pieces of NFO coded from step (5) were put together into new NFO files with the sprites in the correct order.
7) The NFOs of step (6) were encoded with the PCX files of step (5) into the final opengfx*r.grf files.
Now define source for the final opengfx*r.grf files.
I'd say the decoded results of step (5), as step (1) through (4) were completely irrelevant for me in the process creating the result of step (7).
Re: [8bpp] Graphics Replacement Project - OpenGFX License
So, assuming the .blend, .pdn, .psd, .xcf etc is the "source" of the graphics, what happens if the source no longer exists?
-
- Tycoon
- Posts: 1656
- Joined: 08 Jun 2007 08:00
Re: [8bpp] Graphics Replacement Project - OpenGFX License
Ehh.. good that I use luaEdit in the first placeDaleStan wrote:In the first case, you're being an idiot for not using luaEdit in the first place. And/or for not saving as lua from Notepad. Which can do that, contrary to popular belief.
In the second case, this falls flat unless you are manually drawing a PNG and then using $IMAGE_EDITOR to convert it to PCX. If that is the case, then the PCX file would be quite acceptable as source. If you use some program to generate whatever gets converted to PCX, then this doesn't even begin to apply.

In second case... I currently believe only the planes have been rendered from 3d. The houses for example are done by mass texturing similar colours.. Or even if they are created from 3d models, what do you think would qualify more as a source..
Example is the stadias I modeled in blender and sent to Zephyris to manually texture (eg. not texure them and render, but render them and then texture)
Or would the source be all those images + the exact textures that Zephyris cut those out? I believe we would get a bit crazy with this already then..
And believe me, I guess there are no actual sprite that hasn't got any manual pixelwork done to it.. So they are not just converted, but also edited... (plane sprites Zeph?)
And you haven't answered my question. Would you think that the txt would be source or lua? I picked this example intentionally to keep things simple and stupid..
- Attachments
-
- modeled by me in blender
- football.png (5.21 KiB) Viewed 2204 times
-
- modeled by me in blender
- rugby.png (8.96 KiB) Viewed 2202 times
-
- textured by Zephyris
- Stadia 8bpp.png (6.8 KiB) Viewed 2206 times
Re: [8bpp] Graphics Replacement Project - OpenGFX License
AFAIK the only sprites which can be regarded has having a directly modifiable source are the planes. The planes are direct 8bpp conversions of a 32bpp image rendered from a blender model. All other sprites have been significantly modified by hand in order to produce the 8bpp sprite.
Artwork just doesn't have a source in the conventional sense, you can't get from the "source" (a render, an isometric design, a pencil/paper sketch) to the sprite without artistic input. Unlike a programmer artists also have a preferred subject for modification - a pixel artist wouldn't want a 3D model as a source, a 3D modeller wouldn't want a pencil sketch as a source, and a digital artist wouldn't want an 8bpp sprite as a source.
This is where the analogy to C++ code and a program breaks down, and what makes the GPL an ambiguous choice for artwork.
Artwork just doesn't have a source in the conventional sense, you can't get from the "source" (a render, an isometric design, a pencil/paper sketch) to the sprite without artistic input. Unlike a programmer artists also have a preferred subject for modification - a pixel artist wouldn't want a 3D model as a source, a 3D modeller wouldn't want a pencil sketch as a source, and a digital artist wouldn't want an 8bpp sprite as a source.
This is where the analogy to C++ code and a program breaks down, and what makes the GPL an ambiguous choice for artwork.
Re: [8bpp] Graphics Replacement Project - OpenGFX License
if i were running this project, my definitions would consist of the following:
if you send in "source" in a highly exotic format of an even more exotic imaging program, that makes it useless to build derived works on. that is why .pcx (as a standardised image format) should serve as source, as all people who could reasonably want to make derived works can use these as base for their manipulation.
.blend and whatever files can serve as ADDITIONAL source for people who want a more low level approach to generate a derived work. of course, they will then need to reapply any changes that were directly made to the rendered picture, but it would allow the person to change more fundamental aspects of the sprites (e.g. scale, or zoom level) if he so wishes.
there is no benefit in supplying all working files if there is no further information in it that is not in the .pcx.
you should consider the spirit of the GPL at this point. the spirit is to supply as much information as possible about how to recreate the distributed "binary" [.grf file], to let people apply their modification at the point that fits best. some modifications are easier done to the .pcx file, and some other modifications might be better to do on the .blender files, with the side effect of having to reapply some textures.
- sources are all individual .pcx files (with only few sprites in each, for managability)
- sources are ALSO the .blend files, if significant parts of the image were rendered
- sources are ALSO .psd/whatever other format there is, when there is significant information in it that cannot be automatically derived from the .pcx by opening it in an image manipulation programme (e.g. layers, if they cannot be easily modelled by just having two .pcx files)
if you send in "source" in a highly exotic format of an even more exotic imaging program, that makes it useless to build derived works on. that is why .pcx (as a standardised image format) should serve as source, as all people who could reasonably want to make derived works can use these as base for their manipulation.
.blend and whatever files can serve as ADDITIONAL source for people who want a more low level approach to generate a derived work. of course, they will then need to reapply any changes that were directly made to the rendered picture, but it would allow the person to change more fundamental aspects of the sprites (e.g. scale, or zoom level) if he so wishes.
there is no benefit in supplying all working files if there is no further information in it that is not in the .pcx.
you should consider the spirit of the GPL at this point. the spirit is to supply as much information as possible about how to recreate the distributed "binary" [.grf file], to let people apply their modification at the point that fits best. some modifications are easier done to the .pcx file, and some other modifications might be better to do on the .blender files, with the side effect of having to reapply some textures.
- athanasios
- Tycoon
- Posts: 3138
- Joined: 23 Jun 2005 00:09
- Contact:
Re: [8bpp] Graphics Replacement Project - OpenGFX License
As I pm to Zephyris I agree to a GPL style license with the exception to allow usage of parts of the sprites in other non GPL licensed (CC non commercial) projects for the authors of the artwork only.
I decided, for the rest of my artwork (+ projects) to license it under a non commercial CC license. I am not going to throw away textures and artwork and start from scratch again because GPL restricts me-being it legal or not. I state this in advance, to avoid any morons complaining about it in the future.
Now regarding OTTD not beeing a legal entity, you know I 've p***d the system and I don't give a damn s*** if it is or not. E. g. I cannot do an errand and help the X poor people in a country that suffered from a natural disaster because those "X poor people" are not a legal entity. Again I don't give a s*** about such laws!
regards
athanasios
I decided, for the rest of my artwork (+ projects) to license it under a non commercial CC license. I am not going to throw away textures and artwork and start from scratch again because GPL restricts me-being it legal or not. I state this in advance, to avoid any morons complaining about it in the future.
Now regarding OTTD not beeing a legal entity, you know I 've p***d the system and I don't give a damn s*** if it is or not. E. g. I cannot do an errand and help the X poor people in a country that suffered from a natural disaster because those "X poor people" are not a legal entity. Again I don't give a s*** about such laws!
regards
athanasios
http://members.fortunecity.com/gamesart
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
Re: [8bpp] Graphics Replacement Project - OpenGFX License
It's still exactly the same case as pixel-pushing a PNG and then converting to PCX. And absolutely everything else. The source is whatever you would use to make modifications to the work.LordAzamath wrote:And you haven't answered my question. Would you think that the txt would be source or lua? I picked this example intentionally to keep things simple and stupid..
I'm going to assume you meant "Like a programmer" there.Zephyris wrote:Unlike a programmer artists also have a preferred subject for modification
The copyright holder is not bound by the GPL, nor by any other license under which he or she may choose to release his or her works under. The GPL, and all other copyright licenses, only bind those who use works to which they do not possess the copyright.athanasios wrote:As I pm to Zephyris I agree to a GPL style license with the exception to allow usage of parts of the sprites in other non GPL licensed (CC non commercial) projects for the authors of the artwork only.
Explain, please, how "provide humanitarian aid" is in any way related to "assign copyright"?athanasios wrote:I cannot do an errand and help the X poor people in a country that suffered from a natural disaster because those "X poor people" are not a legal entity.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
- andythenorth
- Tycoon
- Posts: 5705
- Joined: 31 Mar 2007 14:23
- Location: Lost in Music
Re: [8bpp] Graphics Replacement Project - OpenGFX License
You can't make "exceptions" to the GPL. GPL doesn't work that way. If you agree to the GPL, you agree to the GPL, no exceptions, or it's not the GPL and the work can't be used with other GPL projects (I checked this last month, but please someone correct me if you know I am wrong). IMPORTANT: see my next comment below.athanasios wrote:As I pm to Zephyris I agree to a GPL style license with the exception to allow usage of parts of the sprites in other non GPL licensed (CC non commercial) projects for the authors of the artwork only.
You don't have to throw anything away. You are the copyright holder. If you license your work under GPL in one project or context, that doesn't prevent you from licensing the same work differently in another context or project.athanasios wrote:I decided, for the rest of my artwork (+ projects) to license it under a non commercial CC license. I am not going to throw away textures and artwork and start from scratch again because GPL restricts me-being it legal or not.
I checked this with several people I trust because my sprites for Industrial Stations are released under GPL, and it was pointed out on these forums that I couldn't then reuse the work in other non-GPL projects. Obviously that would be annoying, so I looked into it and it's a common misconception that GPL prevents you reusing your own work.
Anyone who tells you "your sprites are now GPL'ed, you can't reuse them in other projects under other licenses" is talking bollocks.
GPL is interesting because although it is copyleft, it does work elegantly with existing legal frameworks around copyright. In that respect it's a very well thought out license.
FIRS Industry Replacement Set (released) | HEQS Heavy Equipment Set (trucks, industrial trams and more) (finished)
Unsinkable Sam (ships) (preview released) | CHIPS Has Improved Players' Stations (finished)
Iron Horse ((trains) (released) | Termite (tracks for Iron Horse) (released) | Busy Bee (game script) (released)
Road Hog (road vehicles and trams) (released)
Unsinkable Sam (ships) (preview released) | CHIPS Has Improved Players' Stations (finished)
Iron Horse ((trains) (released) | Termite (tracks for Iron Horse) (released) | Busy Bee (game script) (released)
Road Hog (road vehicles and trams) (released)
Re: [8bpp] Graphics Replacement Project - OpenGFX License
You may not provide additional restrictions, except as provided in section 7. You may, however, provide additional permissions. All of the following are more permissive than merely "GPLv3", and are all valid:andythenorth wrote:You can't make "exceptions" to the GPL. GPL doesn't work that way. If you agree to the GPL, you agree to the GPL, no exceptions, or it's not the GPL and the work can't be used with other GPL projects (I checked this last month, but please someone correct me if you know I am wrong).athanasios wrote:As I pm to Zephyris I agree to a GPL style license with the exception to allow usage of parts of the sprites in other non GPL licensed (CC non commercial) projects for the authors of the artwork only.
- This work is licensed under version 3 of the GNU General Public License version 3, or, at your option, any later version. [emphasis mine]
- You may receive, use, and/or modify this work as provided by either or both of the GNU GPL or the 3-clause BSD license.
- <insert text of the GNU GPL here> As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
- <insert text of the GNU GPL here> As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License.
Most exceptions, if not all, may be removed by downstream licensees. For example, if I receive source under v3 or later, I can release modifications under v3 only. Or, once v4 is released, v4 or later. If I receive GPLv3/BSD3 code, I can release modifications under only 3-clause BSD.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Re: [8bpp] Graphics Replacement Project - OpenGFX License
GPL doesn't restrict you, you don't have to worry.I am not going to throw away textures and artwork and start from scratch again because GPL restricts me-being it legal or not.
Or in "short"...
Once you have done a piece of [artwork/programing/coding/etc.] you can release it to the world under the GPL copyright licence, this gives people certain rights to modify or use your work, in the case of GPL it clearly states that once you have given these rights you cannot take them back. However as author of the work you have the moral rights as author, which basically means you can do whatever you want with your work, or give other people the right to do whatever they want with your work, so long as you don't try and take away the GPL rights.
ie. you can draw something and release it under GPL then...
reuse textures from the drawing, so long as the original drawing can still be used under the terms of the GPL
give a company a copy to sell, so long as the original drawing can still be used under the terms of the GPL
dance naked on printed copies of your drawing and sell the video, so long as the original drawing can still be used under the terms of the GPL
(these are "additional permissions", you can regard giving permission for use of your drawing under the CC-by-SA-NC as "additional permissions")
and other other people can use your drawing...
reuse textures from the drawing, so long as the derivative work is released under the terms of the GPL
give a company a copy to sell, so long as the the derivative work is released under the terms of the GPL
dance naked on printed copies of your drawing and sell the video, so long as the the derivative work is released under the terms of the GPL
I really do want people to be happy with licensing their work under the GPL, so please do ask questions. But if you have concerns like athanasios is then you don't have to worry

- athanasios
- Tycoon
- Posts: 3138
- Joined: 23 Jun 2005 00:09
- Contact:
Re: [8bpp] Graphics Replacement Project - OpenGFX License
Thanks for replies dudes. You made my day! 

http://members.fortunecity.com/gamesart
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
"If no one is a fool I am also a fool." -The TTD maniac.
I prefer to be contacted through PMs. Thanks.
Re: [8bpp] Graphics Replacement Project - OpenGFX License
on a side note, OpenTTD is currently being licensed as GPLv2 only, so maybe putting OpenGFX under GPLv3 might cause additional problems.
Re: [8bpp] Graphics Replacement Project - OpenGFX License
I think we should also GPLv2 OpenGFX, as that's the version of the GPL I read 

Re: [8bpp] Graphics Replacement Project - OpenGFX License
My choice of v3 in the above post was just because v3 is the most recent version.
I guess my personal preference in this situation would be "v2 or later", rather than just "v2".
I guess my personal preference in this situation would be "v2 or later", rather than just "v2".
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Who is online
Users browsing this forum: Amazon [Bot], Baidu [Spider], Semrush [Bot] and 10 guests