[PD] Stealing objects (was: initbang in vanilla)

Alexandre Torres Porres porres at gmail.com
Sat Oct 21 06:58:36 CEST 2017


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 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20171021/6d2ae313/attachment-0001.html>


More information about the Pd-list mailing list