I've made something, but what can I do with it? Externals & Licences..

    Aug 28 2011 | 4:52 pm
    So I've been learning Max for a few years now, and have nearly completed something that may be useful and usable for others. Without going into too much detail it's a kind of generative mixing/effects framework with sound designers in mind.
    I've used some externals to create this, so am wondering what the legalities are of me distributing my creation. I'm aware that some of the externals have a 'not for profit' clause in the license, so can I only give it away for free? Although I'm not actually planning to sell it I've considered going down the donationware route. Would this be legal?
    Off the top of my head, the externals used are:
    Boids, Some stuff from the RTC library,
    There's also some small chunks from the examples section in the book Electronic Music & Sound Design.
    Any thoughts appreciated,

    • Aug 28 2011 | 8:16 pm
      Maybe you should take this as a warning in the future to do a bit more research into the libraries that you are using and their licenses.
      Most GPL for example, require that you make accessible the code you've built on top of the library. Meaning you can ask for a donation but it doesn't change the fact that you are obliged to supply the code in a freely accessible way.
      You can always try finding equivalent licenses with more permissive (commercial) licenses.
      Some GPL or CC code also has a provision under which you should distribute for free unless you pay the owner of the license a fee.
    • Aug 30 2011 | 6:22 pm
      Thanks for your reply,
      Yes, this certainly is food for thought, and I'll think twice before I start the next project. I'm actually happy to give this one away anyway, and would like to give something back to this forum in particular.
      It would be great if there was a guide to releasing programs created with Max, especially as many Max users come from arts rather than software backgrounds. Perhaps this is something someone at Cycling 74 should consider writing?
    • Aug 30 2011 | 8:44 pm
      this is a frequently discussed topic also on the c74 forums. you'r right, there should be some guidelines. i think it becomes more and more important with max now even getting more powerful with version 6. there is is a workshop at their expo74 event this year which sounds very interessting: https://cycling74.com/articles/making-a-slick-max-standalone/
      but as you see this informations are given for money...
      but it's clear that you can't sell something builded on open source externals. it is always easier to make something new by combining blocks of other works. like you see here in germany with copy and pasted doctoral dissertations of politicians. the whole max community is doing that and maybe thats why real commercial patch selling seems a little bit far away. but i think if you only use selfmade java and c externals it's possible. then you come across another point: how to protect an app? also only possible with commercial software or if you find your own way because c74 is putting everything into a not encrypted collective file.
    • Aug 31 2011 | 2:11 am
      but it's clear that you can't sell something builded on open source externals.
      This is simply not true. Most open source licenses won't ban you from selling your work. Even restrictive licenses like GPL will let you sell what you create, the only thing is that you have to give the source code away, too. However, unless you're planning to sell something in big masses, this is not a big issue. And if you use code that was released with a permissive license like the Boost or the MIT, you even don't need to include the source code in your release. I have sold many, many externals using these licenses...
      With GPL there is a (theoretical) problem, though. If you are using GPL-licensed code, then you are obligated to release your work under GPL as well. There has been a great discussion on several forums about the basic question whether hosting environments for plug-ins (like MaxMSP, where externals are actually plugins to the main system) should be regarded as part of your derivative work (in which case you should be able to release the source code of your hosting platform, at least in theory) or not. The problem is that since MaxMSP is a closed source software, you can't release it's source code, therefore you might run into some 'orthodox' people out there that would proclaim that it is illegal to use GPL-licensed tools in a MaxMSP external (note that with LGPL tools you'd be fine). However, my personal experience is that most of the people would use GPL-ed sources in Max and then release their source codes without any trouble.
      Hope this helps, Ádám
    • Sep 06 2011 | 6:19 pm
      Thank you both for your replies, I've been kind of busy so sorry for not getting back sooner. Both opinions here are very useful.
      What's really interesting for me about this is it really forces me to ask myself what I want. I think the real beauty of Max is the speed in which you can throw something working together, and using the amazing range of externals really helps here. In an ideal world I'd earn enough money from the creative work I do and give back/contribute all the Max stuff for free. On the other hand I also want to be more serious about programming and software design... I'm at the beginning of the path to learning C++, but really if I could create everything with Max, that would be great.. lets see what happens with Max 6.