On 02/21/2016 08:35 PM, Fred Jan Kraan wrote:
This mail is the last I will write about cyclone in the foreseeable future.
this is about the worst possible outcome of the entire discussion.
Exactly.
Discussions are great and all but discussions also involve listening to both sides. At some point, things seemed to go one sided. Developer burnout is a *huge* problem in open source so Fred’s concern about maintainability vs. extensibility is valid. Maybe that concern wasn’t quite coming through over email. I can personally say, OS developers tend to start getting into a situation were they work on things not because they are interested anymore but because they feel like they *have* to support the needs of others … for free. That’s where things get toxic and it’s sometimes hard to find a balance between the two.
I’m not trying to figure blame, etc, I’m trying to see what we can all learn from this unfortunate outcome.
Instead of consistently asking for Fred to integrate and increase his workload, the better course of action might have been to make a companion library that utilizes cyclone and begins adding functionality. Maybe start with abstractions and go from there? Putting up code and workable ideas always influences things more than "here’s a huge bug/feature list for one person to implement.” Oftentimes, if the work is good and the developer can see things are coming together nicely, talk begins about a possible integration with the base code base and direct collaboration. This has been the case in the OpenFramework community where a few addon libraries have been vetted and proven outside of the core code, then integrated later on.
That being said, the huge compatibility list a *great* resource and basis for organizing work for a number of people. Sometimes, QA is great help in defining what makes sense beyond the developer perspective. Throw that up on a wiki with checkboxes and bring your students in on a “make an external/abstraction party”. :)
On Feb 21, 2016, at 10:14 PM, pd-list-request@lists.iem.at wrote:
The repo is a fork from the last update in previous maintenance (cyclone version 0.2beta1), which was on its own a fork from cyclone's repo for version 0.1-Alpha56 (available in Pd Extended).
Fred did a large amount of work in bring cyclone forward, build-wise and bug wise. Why wouldn’t you start with his work? Seems like a step backwards after all of this...
Dan Wilcox @danomatika https://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
On Feb 21, 2016, at 10:14 PM, pd-list-request@lists.iem.at wrote:
The repo is a fork from the last update in previous maintenance (cyclone version 0.2beta1), which was on its own a fork from cyclone's repo for version 0.1-Alpha56 (available in Pd Extended).
Fred did a large amount of work in bring cyclone forward, build-wise and bug wise. Why wouldn’t you start with his work? Seems like a step backwards after all of this...
That's what's happening! It's from 0.2beta1 and on, not 0.1-Alpha56, I was just trying to be accurate in the genealogy of repositories. Fred did a great amount of work departing from 0.1-Alpha56 - available in Extended and in this original repository https://git.puredata.info/cgit/svn2git/libraries/miXed.git/ - he forked it to https://github.com/electrickery/pd-cyclone and started working on it. A 0.1-Alpha57 is also available and was provided by him, but this is marked as "unreleased" in the puredata.info website and only the 0.2beta1 (current state of his repo) is now available via deken.
By the way, I also think there are lessons to be learned, and I have to admit I'm not used to dealing and negotiating in a collaboration of free software like this. I'm really unaware of the common practice regarding ethics, politics, etiquete and all. I hope to learn from this episode and you all, and I also hope you can cope with me eventually not knowing better, any constructive criticism of any of my actions are hihgly welcome. thanks...
cheers
On Feb 22, 2016, at 10:33 AM, Alexandre Torres Porres porres@gmail.com wrote:
That's what's happening! It's from 0.2beta1 and on, not 0.1-Alpha56, I was just trying to be accurate in the genealogy of repositories. Fred did a great amount of work departing from 0.1-Alpha56 - available in Extended and in this original repository https://git.puredata.info/cgit/svn2git/libraries/miXed.git/ https://git.puredata.info/cgit/svn2git/libraries/miXed.git/ - he forked it to https://github.com/electrickery/pd-cyclone https://github.com/electrickery/pd-cyclone and started working on it. A 0.1-Alpha57 is also available and was provided by him, but this is marked as "unreleased" in the puredata.info http://puredata.info/ website and only the 0.2beta1 (current state of his repo) is now available via deken.
Ah ok. Just checking :) I saw the “pd-extended” part and it seemed like you were starting from that version.
By the way, I also think there are lessons to be learned, and I have to admit I'm not used to dealing and negotiating in a collaboration of free software like this. I'm really unaware of the common practice regarding ethics, politics, etiquete and all. I hope to learn from this episode and you all, and I also hope you can cope with me eventually not knowing better, any constructive criticism of any of my actions are hihgly welcome. thanks…
We all appreciate your enthusiasm, don’t get me wrong. Collaborating on open source, in some ways, requires collaborating more with the people and their interests/schedules themselves than on company projects where the hierarchy and management is strictly enforced. Not everyone is supported by an institution in this work and most contribute when they can in their “free” time. For better or worse, work tends toward areas of personal interest and direct collaborations occur at overlaps. People will volunteer to take up work on something but they are of course free to drop it at any time.
It’s more of an anarchistic collaboration where, when we have enough people and enough energy to overlap the areas that need work, we can get a lot done. Problems arise when there isn’t enough time/energy/people to cover everything and things narrow down to individuals suddenly feeling inundated with bugs & feature requests. In this case, it’s best to pitch in by asking questions as to “where and how can I help”, then providing ideas, examples, & code.
I immediately think of deken. There were many *long* discussions about the future of pd and pd-extended that essentially boiled down to: "we need to do something" & "nobody will probably work on extended". The first conclusion was obvious & the second conclusion came from essentially everyone waiting for everyone else to start “working on pd-extended”. That didn’t happen, so more *long* discussions ensued that reiterated the first conclusion.
In the mean time, a set of developers started working on some example tools, taking into account their views towards the discussion of “we need to do something.” This work resulted in pd-lib-builder (make externals easy to build outside of pd-extended) and deken (make externals easy to install on pd vanilla). Once both projects were released for testing, the discussion changed from theory to practice and many improvements have taken place since. We now have a direction forward. (Giant thanks to everyone involved!)
I’m not saying discussion itself is unwanted, just the kind that starts getting cyclical and draining. Sometimes, you’ve got to put the code up to prove/test a point that others can join in on. Convince via example as opposed to convince via debate. A great example of this is the frequent patch trading that happens after someone asks “what’s the best way to XYZ in pd?” In some ways, working on externals and pd itself happens in the same manner, it’s just a little more difficult to write & share the TCL/TK & C code.
In any case, we’re all here because we believe in open source and pure data. We don’t agree on everything, but we work to find areas of agreement and move forward.
Dan Wilcox @danomatika https://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/