Some comments here are interesting. I may have to amend the parable to clear up confusion on this point. First, let me point out that it's a parable, not an allegory, and so can't be assumed to represent any particular scenario or person specifically.
So, what gives the impression that the old man wouldn't accept a gazebo or a garage offered to him by a kind member of his community? Or that he wouldn't himself build one proposed likewise by a kind guest in a reasonable location? And who says he wouldn't accept a double-paned and shuttered window placed in a reasonable location for a window, rather than unreasonably replacing the chimney? All the old man wants is a house that functions as a house---he didn't set out to build an eccentric pleasure mansion: he and his guests (who chose his lodging house to stay in for a reason) require a simple, frugal lodging house. He, as the maintainer of the house, is responsible for keeping it house-shaped. I have myself personally been the young man who offers the garage or gazebo many times. It is the nature of free software projects to be (with few exceptions) one man shows. I don't think I've ever met a single one of these tired old fellows who's happy that he had to do so much of the work himself. Everybody would like help, and is grateful when they get it. With the Non project, it has simply never happened that someone showed up on my doorstep with plans for something as elaborate as a gazebo (which, FYI, would thrill me to no end). I did get a new hall mirror once, but it was a reciprocity thing from another old man in another house and not an instance of drive-by generosity (I do love that mirror though). But I have had lots of these "idea men" who want to wreck the house by forcing me to turn it into an avant garde monstrosity that goes completely against the stated project goals (fast, light, powerful, modular, bloat-free, not overly complex, etc.). There's an enormous difference between making something better and making something into something else. If we're being honest, what people really want is a bespoke version of Ableton Live (or whatever) that they don't have to pay for. But I didn't set out to clone anything. Non has its own niche of scope and requirements. Regarding repo access: Yeah, you really need to have someone well vetted, qualified, and invested before you can give them push access or it's going to be a disaster. There's another aspect of human nature involved here which is that nobody wants to spend a lot of time contributing to something they didn't invent, and a DAW is damned hard to invent. There are some types of free software projects that it's easy to contribute to without being an expert in the domain, but I don't think a DAW is really one of them. And being modular makes Non a strange beast anyway. Usually what I tell these idea men is that they could just implement their idea as another module/client that interacts with Non through the established mechanisms and need not get any kind of permission from me for that. Someone could theoretically hand me one of these modules in the style of Non, but that also has never happened. But they can also just keep it independent of me, which I believe has happened a few times with people making NSM clients that are rather specific to the NSM environment (one or more git clients come to mind). In fact, when people do this they don't feel it necessary to even inform me of their project (if they did, I'd link to it from the Non website). Just to give an anecdote: Originally the Non Wiki had anonymous write access. I had grand ideas that the community would add all kinds of cool stuff and useful tutorials. How long do you think it was before Chinese and Russian scammers took over the wiki? If you have a lawn without a fence around it, people will simply shit all over it. Why would anyone assume that I like the fact that people act this way? I don't. I'd love it if everyone was enthusiastic, comprehending, competent and acting out of good will, but that simply is not at all the case. Some people are enthusiastic but incompetent, some people are competent but unenthusiastic, some people are competent but not comprehending, etc., etc. The person who makes the calls on this project needs to be all of these things at once (and more). Basically, the job description for being maintainer of this project requires having already written a modular DAW, and everyone who's already written a DAW understandably already has their hands full with their own albatross (and nobody else has ever written a modular DAW, to my knowledge). Maybe we could do some musical chairs thing where Paul Davis and I swap places for a week (I think he's going to miss the endless supply of lattes) and see what kind of chaos or magic comes out of that, but otherwise you guys are stuck with me (I am, after all, the only one crazy enough to spend his time in this way). Once upon a time I had the silly dream that a protege would show up who really "got it" and would learn on the job, helping me with the grunt work of building all manner of useful things and would eventually take over mainstainership when I was too aged or busy to keep it up myself. Clearly, that was unrealistic. Don't you think I'd like to lean back with my hands behind my head, and use a DAW that someone else made according to my specifications? Do people think I enjoy spending all of my free time putting work into something that provides me with unmeasurable fractional pennies on the dollar return on my investment (and a lot of personal attacks to boot)? Ideas don't just reify themselves, somebody has to actually buck up and do it. And I've got notebooks and TODO lists full of brilliant ideas of my own, why would I pick some random nonsense idea over one of those already partially developed ideas? The problem is filtering out the bad from the good, the frivolous from the necessary and useful, and then actually doing the brutally difficult and extremely time consuming work of making the idea a reality. Do people not understand what they're asking me to give up in order to build for them their useless (to me) pleasure-window? None of us lives forever, you know. I'd like to actually have time to use this software to make a little music before I die. And ideas or contributions that align with that goal (i.e. are timesaving and useful), I'm all for. Anything that just wastes my time without making my or anyone else's life significantly easier is just not on the menu. FYI, there's nothing really unique about the management of the Non project vs other free software projects (re "personal" vs "public" or any other distinction). I just put that stuff about it being pretty much all me in the about text and on the website because I got so many messages from people who assumed that Non was built by a team of people or a company (i.e. that it couldn't possibly be the work of one man). Probably my own fault for optimistically using the word "we" on the website. The difference is just that A) Non primarily the original work of one person, not a core founding team [also true of most free software projects]. B) Non is more advanced/obscure than your typical widget C) There are far fewer contributors brave or invested enough to dive deep into Non (due to the advanced/obscure nature) and D) Far narrower in scope than many projects.[look at things like "ratpoison" or "suckless tools" etc. for other examples of projects with clear philosophy and scope.] I've been in this game a long time and have contributed to dozens of projects, sometimes major contributions, sometimes minor ones. I know how it works and I know how to get along with reasonable, technically-minded people. FWIW, other projects may make a contributor jump through coding style hoops or unit test hoops and various other hurdles. When I get a patch that does something useful, I'm usually so happy and surprised that I just apply it and if I feel compelled to tweak the coding style or test the daylights out of it, I'll do that myself. So this notion that I'm creating (unnecessary) obstacles for contributors is just a false narrative. There *are* obstacles though, primarily the necessary ones of scope and suitability for purpose. I wish everyone would bear in mind that there's a 99% chance I've already had a given idea and either A) it's on my miles long TODO list or B) I decided it wasn't appropriate years ago. It's simply a fact that there is no person alive who has spent more time thinking about my projects than myself (does that not seem logical?). Let's put it this way, 25% of my brain is devoted to Non. The proverbial imposing stranger has devoted 0.000000000000000000001% percent of his brain to Non. Who do you think is going to have the better first idea regarding Non? All of my first ideas aren't great either, you know. Sometimes, when I apply a little more thought, I discover that the idea which had at first glance seemed great in fact is not. Then I come up with another one or a refinement of the first and try again. What I try very hard not to do is commit bad ideas to code so that I'm stuck with them forever. But when people come to me with a bad idea, and I say, "but the chimney is necessary, you can't put a window there." they just get mad and call me names, rather than saying, "Hmm. you're right, what about over here?" When they do the former, I'm an unreasonable baddie, and when they do the latter, I'm a pleasure to work with. The difference, however, lies not in my behavior (which is consistent), but in their perception. I would also like to point out something that although plainly obvious to me, may not be obvious to everyone. The driving force behind software bloat (which is a very, very serious and widespread problem responsible for tremendous wastes of time, energy, and the pollution of the natural environment) is the notion that a program is somehow invalid/obsolete unless it is being constantly added to with a continuous churn of flip/flopping development. This is simply false, and there are many famous examples of programs which have stood the test of time. The ideal program is one that, once written, debugged and matured, never needs to be substantially altered again (except to port it to new systems etc.) When I find that a program of mine still works well and serves its purpose despite having been "neglected" for years, to me that is a sign of success and quality. The fact that NSM has required virtually no amendment or extension since its release is a personal triumph for me. It shows that my care and effort in thinking it all out ahead of release was not wasted. I wish all of my software was like that. I've seen many programs ruined by haphazard and slipshod development (in fact, I never would have started the Non project in the first place if it hadn't been the case that this kind of destructive bloat happened to the other DAW I had been using). Regarding the "fork" of NSM (which is more like an impostor). I still maintain that there is no legitimate cause for a fork. The inventor of NSM was careful and thoughtful enough to build in the facility for alternative GUIs (even entirely different paradigms of GUI, such as having the SM control functions appear inside a client). There is no technical, logical, or reasonable motive to do something so clearly confusing and disruptive to the community as fork the NSM daemon and utility clients (JACKPatch, NSMProxy, etc.), which is effectively a critical subsystem of LA at this point (akin to JACK). The only conceivable motivations for such a move are malicious and/or political in nature. Of course, it could all be a horrible misunderstanding and mistake, and if that's the case and the parties involved now comprehend the situation clearly, then it should be possible to quickly and easily resolve the situation in the manner I have outlined previously (and I personally hope that it really was all a misunderstanding and will eventually be resolved in this way). As a free software developer, one expects to be taken advantage of, but one usually expects this of corporate entities (your TiVos, Apples and Googles of the world etc.), not from other free software developers. And just to be clear: I do appreciate the few contributions I've received over the years. I welcome any and all relevant, appropriate contributions. Even if I only got bug fixes or documentation and no new features that would potentially save me a lot of time. I don't enjoy telling people "no", especially when they display enthusiasm for the project, but in order to keep Non fast, light and powerful, I simply must set limits. On Tue, Jan 5, 2021 at 1:03 AM John Rigg <[email protected]> wrote: > On Mon, Jan 04, 2021 at 09:39:09PM -0600, Aaron Duerksen wrote: > > the official repo simply cannot > > be (or remain) the work of just one person. > > Who made this rule? AFAIK the official git repo for non at > non.tuxfamily.org doesn't have public write access, and the > GitHub repo is just a mirror. > > A lot of the software I use is the work of one-person > projects. There's nothing unusual about this development > model. > > John > > >
