1

I'm looking to release an open-source iOS software project but I'm very new to the licensing side of the things. While I'm aware that the majority of answers here will not lawyers, I'd appreciate it if anyone could steer me in the right direction.

With the exception of the following requirements I'm happy for developers to largely do whatever they want with the projects source code. I'm not interested in any copyleft licensing schemes, and while I'd like to encourage attribution in derivative works it is not required.

As such, my requirements are as follows:

  • Original source can be distributed and re-distributed (verbatim) both commercially and non-commercially as long as the original copyright information, website link and license is maintained.
  • I wish to retain rights to any of the multi-media distributed as part of the project (sound effects, graphics, logo marks, etc). Such assets will be included to allow other developers to easily execute the project, but cannot be re-distributed in any manner.
  • I wish to retain rights to the applications name and branding.

Futher to selecting an applicable license, I have the following questions:

  • The project makes use of a number of third-party libraries (all licensed under variants of the MIT license). I've included individual licenses within the source (and application) and believe I've met all requirements expressed in these licenses, but is there anything else that needs to be done before distributing them as part of my open-source project?
  • Also included in my project is a single proprietary, close-sourced library that's used to power a small part of the application. I'm obviously unable to include this in the source release, but what's the best way of handling this? Should I simply weak-link the project and exclude it entirely from the Git project?
7
  • 2
    Free code paired with non-free assets is not uncommon (en.wikipedia.org/wiki/…) so I expect that shouldn't be a problem -- you'll likely just need to license the code and assets separately.
    – apsillers
    Jun 18, 2013 at 18:12
  • Personally I'd just run with public domain for this, unless you have a specific wish that the source (even of modified versions) must always stay open. Leaving this as a comment rather than an answer as it's quite subjective. Jun 18, 2013 at 18:24
  • 1
    @mh01 Public domain should be avoided for all but the most trivial of code snippets. There are many reasons (especially in this particular scenario), but I'll just give one: it doesn't provide express permission to use the code, but only implied permission; some companies will refuse to use such code on the grounds that it is not legally defensible, so if you want the widest possible use of your code, it is better to choose a permissive open-source license. Jun 18, 2013 at 20:59
  • @mh01 The public domain is better than no license at all, but, yes, software should be licensed. From codinghorror.com/blog/2007/04/pick-a-license-any-license.html: "Experienced developers won't touch unlicensed code because they have no legal right to use it."
    – thomasd
    Jun 24, 2013 at 21:56
  • If it depends on proprietary code one could ask "why bother open sourcing it?" But if you really want to I would use the BSD license and not include the media assets with the source or include placeholder assets. To retains rights to the name, release it under a similar but different name than your application.
    – Craig
    Jun 25, 2013 at 0:46

2 Answers 2

1

Honestly, you have a mess of licensing requirements. And by mess, I mean too many conflicting requirements.

At first glance, the GPL looks like it would fit your requirements for attribution & re-distribution of source. It also is pretty good at absorbing other licenses like MIT & BSD.

Your requirements regarding the media though will essentially require a different licensing scheme than GPL. It's at this point in your req's list that you've painted yourself into a corner without a solution.

However, you really nail things shut by relying upon a closed source, proprietary application. Generally, closed source licenses don't mesh together with the GPL.

There are some Creative Commons licenses that you could consider, but honestly, they're not going to be able to resolve your conflicting requirements either.

And I would encourage you to take a step back and ask who would actually want to pick up your project? From an outsider's point of view, this is what I see.

  1. I might be able to extract everything and compile
  2. That assumes I can find a copy of the proprietary engine that your app relies upon
  3. If I ever want to redistribute it, I have to come up with all of my own media
  4. And then I have to consider the long chain of licenses that you've released things under.

Nothing personal, but it better be one helluva application to make me want to go through those hoops.

0

To get the easy stuff out of the way, the best way to protect your application's name and logos is by registering those as trademarks. This is irrespective of the licence you use for the source code.

You can release your artwork and multi-media files under a different license than your source code, but there is a possibility that for that separation to be effective, you need to distribute them in different packages. This is something you definitely need to discuss with a lawyer.

Then the hard question: what license to use for your source code.
The fact that you depend on a closed-source library makes it impossible to use the GPL license, because that license explicitly requires that the GPL applies to every piece that makes up your application.
The MIT or BSD licenses might be applicable to your software, but you should expect a lot of flack. People expect that when the download the source of an open-source project, then they are able to build the project by themselves. But for your application, that would not be the case due to the dependency on the closed-source library. Additionally, the MIT and BSD licenses allow re-licensing of derived software, which seems to be contrary to your first bullet.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.