So, these things been in my mind for a while and it suddenly came up with thoughts of "cloning" initbang, but (spoiler alert), I'm not considering it anymore, but would like to discuss such things.
2017-10-19 14:02 GMT-02:00 Christof Ressi christof.ressi@gmx.at:
I don't like the word BTW. in the open source world you shouldn't have to "steal" things
yeah, I was being ironic and I agree.
but I'm wondering: how can one reimplement [initbang] and publish it under
a different, more permissive license? basically it's just an API call and a version check... there's not much to do differently. shall [initbang] therefore always be GPL?
I see the issues regarding "stealing" code are basically licensing issues, so I really need to learn more about them. But I see what you mean. It's really just an API call. So I wonder how you can put a license on something as simple as this and prevent people from using it in a more permissive license (which is what I wanted to do). But before challenging any notion, I'm really just curious and looking for explanations, as I'm being open on how clueless I am with the general licensing subject.
2017-10-19 13:23 GMT-02:00 IOhannes m zmölnig zmoelnig@iem.at:
most likely you will discover another issue that has been neatly solved in iemguts in a week or two. and steal that.
I can see that point in a more general discussion about stealing objects (which I'm more actually interested in), but not really for initbang as it's such a simple thing... But even if it were a complicated code getting weekly updates, I'd like to point it can be a two way street, where I can see problems and issues in the original stolen piece and fix it myself. By the way, for instance, by checking [initbang], I spotted a mistake in the documentation of and reported so you could fix it https://github.com/iem-projects/pd-iemguts/issues/5 - so if I were to have stolen it, you could have copied me instead.
and then you discover that iemguts hsa other nifty things. and just steal all of them, until you have stolen it all. just for the sake of "not having a dependency".
well, that's pushing it and quite far fetched, if my actual intentions count anything.
In almost 150 objects in my new library, I haven't been tempted in stealing nifty things around just for the sake of making a compilation of "The best of Pd Externals". On the contrary, this whole process emerges from a deep frustration with existing objects (internals and externals), that made me start learning how to code so I could make my own things (something I swore I'd never do!).
But I must confess I'm designing similar objects from existing libraries, which is also nothing new in the Pd Ecosystem, where many objects in Pd Extended have the same functionality and even the same name. Let's face, we're not designing rocket engines that must be kept secret, these are basic computer music tools found everywhere, so, who holds the copyrights to a comb filter algorithm? This is something that confuses and relates to this initbang discussion.
I have, for instance, made a new [pi] object, which I wanted to keep the same name for obvious reasons, though I added functionalities to it, like a multiplier argument (I find it useful and handy). Now, does the original abstraction hold the copyrights on how you get to calculate pi in Pd? Does my variation allow me to not care at all if the original one had a license? You see, in practice, this is what we're dealing with.
So yeah, there are a couple of cases I ran into like the [pi] object, and now I ran into a similar thing with the need of including a [initbang] like object, which was already a last resource alternative, the last thing I wanted to do, so I did look for yet another solution, which would be designing a whole new object with more and different functionalities, so I could justify the inclusion of such object around.
And I did it and I have a working prototype => https://github.com/porres/pd-else/blob/master/classes/loadbanger.c
this is a 'loadbang' object that includes many functionalities, from both loadbang and initbang. It is also a clickable object and has an inlet that triggers it too (an idea I stole from max's loadbang). It also incorporates a [trigger b b b] function, or [bangbang] from max. Anyway, I put all the bells and whistles I could think of, so it would pay to have such an inclusion, and I now think I'm going for it and that I'll be using this instead of [loadbang] from now on.
So, the question is, am I free from: A) Eternal damnation / B) Copyright infringement?
And where do you draw the line from where you can say someone is license/copy rights? How would a code thief get away with such things? Can you just add bogus and dummy functionalities to say you got a whole different animal? Can you just change the name a little?
Well, these are doubts I've had in a while and I hope someone can shed light on.
And by the way, this is why I just want to have the most permissive license as possible in the things I make. I don't wanna give anyone a hard time or anything with whatever they want to "steal" from me.
cheers