Sign in to follow this  
Followers 0
PnP Bios

@SDL users, use OpenGL

92 posts in this topic

Quote:
Original post by Kylotan
I agree with PnP - don't add an extra library dependency just for small aspect of orthogonal functionality. On top of requiring SDL_image you effectively force Win32 developers to redistribute the zlib, png, and jpg libraries as well.

Instead, one option would be to use an #ifdef to check if the user wants SDL_image support, and if so use IMG_Load in the call instead of LoadBMP.


Because the project is built as a static lib adding extra functionality dependant upon third party libraries isn't going to affect anyone who isn't going to be using it. If this was a dll then I agree with the option to add in third-party support or not as the user requires through the use if #ifdefs etc.

The modified library exists for those who don't want to be stuck using bitmaps, if people don't want to use it then they don't have to, but at least the option is available to them if they ever decide to do so.
0

Share this post


Link to post
Share on other sites
SDL_image is LGPLed. This means you can't practically distribute it as part of a static library.
0

Share this post


Link to post
Share on other sites
Has anybody checked out the wiki yet? The link was on the 3rd page.

Sourceforge hasn't gotten back to me yet, so I am going to just have to make a minipage on my website for now.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by PnP Bios
Has anybody checked out the wiki yet? The link was on the 3rd page.

Sourceforge hasn't gotten back to me yet, so I am going to just have to make a minipage on my website for now.


You should add it to your profile [wink]
0

Share this post


Link to post
Share on other sites
Quote:
Original post by Kylotan
SDL_image is LGPLed. This means you can't practically distribute it as part of a static library.


Unless the library itself is LGPL'd.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by TravisWells
Quote:
Original post by Kylotan
SDL_image is LGPLed. This means you can't practically distribute it as part of a static library.


Unless the library itself is LGPL'd.


but since my is using the zlib license...
0

Share this post


Link to post
Share on other sites
Quote:
Original post by PnP Bios
Quote:
Original post by TravisWells
Quote:
Original post by Kylotan
SDL_image is LGPLed. This means you can't practically distribute it as part of a static library.


Unless the library itself is LGPL'd.


but since my is using the zlib license...

I am no lawyer, but you may be able to license your library under the zlib license, as long as you dynamically link to SDL. Users could rip out the code from your library if it was licensed under the zlib license, but they could not rip it from SDL.

I think the point is that you need to allow users to update their version of the library, once you decide to no longer support it. Say this is a 2-month project. You dynamically link to SDL 1.2.8. 2 months from then, SDL 1.2.9 comes out with bug fixes. Users should be allowed to write over the .lib and .dll files in your library, so they can use the mose recent version of SDL (according to the LGPL).

If anyone hear if a lawyer or is studying law, please feel free to correct me. I feel that it is a Bad Idea if you allow users to update a library that your application is linked against. Why? The new version could easily break functionality in your program because it relied on parts of the library that the new versio changed. But you need to compile with the license, so I don't think you have much a choice.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by wyrzy
I feel that it is a Bad Idea if you allow users to update a library that your application is linked against. Why? The new version could easily break functionality in your program because it relied on parts of the library that the new versio changed.


That is where COM would come into play [smile]. It might be extra work - but it would definitly solve the problems you have brought up. Anyone else agree - or am I on the wrong page?
0

Share this post


Link to post
Share on other sites
For now, my library is staying static. I haven't had any time to take a look into DLL's.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by Drew_Benton
Quote:
Original post by wyrzy
I feel that it is a Bad Idea if you allow users to update a library that your application is linked against. Why? The new version could easily break functionality in your program because it relied on parts of the library that the new versio changed.


That is where COM would come into play [smile]. It might be extra work - but it would definitly solve the problems you have brought up. Anyone else agree - or am I on the wrong page?

DirectX uses COM. However, I haven't heard of COM used much on non-ms operating systems. Also, Microsoft is pushing .NET Assemblies as a way to solve "DLL Hell". If and when .NET eventually does become cross-platform (I know there's a "standard", but that doesn't mean mono will follow it just like Microsoft), this could be an option for cross-platform libraries.

This is kind of off topic to PnP's library. But I really think you need to Dynamically Link to SDL PnP in order to license your library under the zlib license. I always like to stay out of trouble with legal issues.
0

Share this post


Link to post
Share on other sites
It's like this:

Staticly linked, or you've modified SDL/SDL-Image: Your library MUST be LGPL.
Dynamicly linked, or you distribute the library with the .OBJ files (not just the .LIB): Any license you want, since anyone can grab the source to SDL-Image, modify it, and relink it to your library.

My suggestion would be to switch to LGPL. It'll make distribution easier, and it's not different from zlib (The difference is: If I download your library, modify it and redistribute it, I have to use LGPL too.)
Although now any users of your library have to dynamicly link to it. (Unless they too are LGPL'd)

If you stay ZLIB, users of your library are going to staticly link with your library, but have to dynamicly link with SDL, SDL_Image, and all of SDL_Image's sublibraries.

If you LGPL your problem, it's less dynamic linking, since you can staticly link SDL/SDL_Image into your library.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by TravisWells
If you LGPL your problem, it's less dynamic linking, since you can staticly link SDL/SDL_Image into your library.


Yet that in itself is a hassle because I think few people can be bothered recompiling the gzip/jpeg/png stuff on Win32. And when they do change, PnP then has to consider updating his library, instead of just allowing users to drop in their own replacement. I really don't think it's worth it.


wyrzy: I don't think non-Windows people will care too much about COM or .NET assemblies to solve DLL hell, because it really isn't that much of a problem on their platforms. Whether this comes down to the more stable nature of the libraries, or the fact that programs are more loosely coupled there, or that most of these libraries are pre-installed on every system unlike with Windows, I couldn't say. I do think the fact that the Linux packaging systems don't tend to just go overwriting existing libraries goes quite some way towards this, however.
0

Share this post


Link to post
Share on other sites
I have a question here. If I were to post some amazing code right now, and not give it any license notice, then would it legally be considered public domain?
0

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
I have a question here. If I were to post some amazing code right now, and not give it any license notice, then would it legally be considered public domain?


I'd assume so, unless someone other than the original IP owner was the one that posted it. I.E. if someone simply posts code on this forum, it is not automatically in the public domain, only if that poster was the one that created it.
0

Share this post


Link to post
Share on other sites
Do you or anyone know of some resources to back that up? I'm trying to convince a friend to pull some of his code from a forum, or at least add a license to it. He thinks it's automatically copyrighted and there are no worries, but I'm not so sure.
0

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0