[OpenWrt-Devel] The old days are gone; OpenWrt is a product now

Daniel Dickinson openwrt at daniel.thecshore.com
Wed Mar 30 00:12:45 EDT 2016

Hi Shankar,

I appreciate your message, and basically agree with what you are saying. 
  The message was partly mourning for a time past and partly just a 
recognition of how things are, and what that means.

In particular I think that OpenWrt is caught with a codebase that was 
developed more rough-and-tumble and trying to grow up and be product, 
and has got in a situation where there is little commercial support AND 
dying community support because neither group's need are sufficiently 
addressed at the present time.

The challenge for Felix and John (and the other developers who 
occasionally contribute), is to try to find a way forward that works for 
whichever use case they decide is most important.

I may mourn the loss of a freewheeling community (and have taken it 
badly that isn't the way it is any more), but that sort of community is 
hard to maintain from an economic perspective (and I'm not sure that 
people like myself who came at openwrt as a vehicle for experimentation 
and trying to make things better and have fun at the same time, without 
the rigour of day job are sufficiently motivated to fund a project), and 
also people's expectations of what projects offer has changed.

Even though OpenWrt is free as beer, there is still a high degree of 
expection of what it will offer, and not break, and so on, which in the 
early days was less of a concern, particularly on bleeding edge where 
the community was the qa department.

I hadn't kept up with the shift (and had gotten away from open source 
due to nda's and contracts that interfered with my freedom) and came 
back with the wrong set of expectations.

The project itself is in a transition state, and, at least from what 
see, has lost a lot of mindshare for a variety of reasons (I think part 
of just that geeks (except strange ones like us) just aren't as excited 
by working on routers as in days past, and hence is left to people who 
are willing to treat it like a job, or have the time and energy, and 
inclination to put in a job-like effort.

On 16-03-29 07:37 PM, Shankar Unni wrote:
> Hi, Daniel.
> I’ve been following your messages in the background, and I want to both sympathize, and at the same time, try to show you a little of my perspective (and those of others working on the product).  Please forgive my verbosity, because I have a few points to make.
> Yes, you’re absolutely correct when you say that: "OpenWrt in particular the emphasis is now on a product and has a lot more rigour.”  That’s just a fact of life, and is nothing to be particularly either celebrated or mourned.


> The Linux kernel went through the same thing years ago; when I first played with it (back in 1995), it was a rough-and-tumble world. People submitted patches to a mailing list, and Linus picked up whatever he liked (and sometimes there was a bit of back-and-forth, but you could often get stuff in for really obscure devices, or quirky behavior, without a lot of rigor).
> But it’s now a big business, which is both a blessing (a massive flood of support, both in peoplepower and cash), and a curse (since everyone depends on it, it has to go through some really rigorous vetting before anything gets in).
> Also, since the kernel is so large, you can’t just deal with parts either in isolation (because there are too many ramifications elsewhere), or totally holistically (since it’s way too large for that).  So they’ve broken it down into a series of subsystems, with their hierarchies of maintainers and contributors, who all report to Linus.  And just like when you make additions to a house, you have to match styles so that the other residents don’t have a harder time.
> The same thing is happening now to OpenWrt.


> * Create your own clone on github, with your private branch.  Everyone does this.   (keep the master in your clone a strict clone of the remote master; use a branch for all of your changes; pull into your master and merge from your master into your branch to refresh it).

I've created my own project on github for this very reason; I realized 
even before I came to this realization, that I needed to change what I 
was doing.
> * If you need to contribute something back, please appreciate that it has to fit in with the framework and style of whatever it is you’re modifying (this seems to have been the original sticking point).  Given that, be ready to pull in specific changes into your master, as a submission, and co-review it and make modifications according to review comments, and push that back.

Yes, and this is the part I hadn't clued into; that things are more 
rigorous, and that there are limited resources to explain the rigour 
needed, and since community involvement, particularly on the list, is 
greatly diminished, there is little feedback to get tuned in, unless 
you're an IRC junkie (I'm not a chat or forum person).

> This way, you don’t have to park all of your desired changes into the master tree where they’ll affect everyone.

Again, cluing in to modern reality was my problem.

> That’s hard.  It’s not just a programming or design exercise, it’s a social exercise.  You have to essentially “sell” your idea to others, get them to buy into it (and this is where most of the back-and-forth comes in).  Be prepared for rejection (so many good ideas are rejected, and that’s not a bad thing in general), or to compromise and only push a part of your proposal that is acceptable to everyone.

Another part of the this is figuring out, with little feedback or 
documentation, what the current priorities and goals of the project are, 
and understanding what makes sense of the context of what the project is 
aimed at.

> I hope this is helpful, and doesn’t come off as too patronizing or windy.

Not all, it's appreciated, and I hope you don't mind my putting this 
back to the list; I didn't see anything in your email that I thought 
you'd be terribly offended to see on list, and I think having it in 
archives, and hopefully leading to an effort like updating either the 
wiki or dev.openwrt.org or www.openwrt.org to having some sort of 
mission statement or project goals and expectations so that newcomers 
have an idea what the project is about these days, compared to the 
current pages, which seem to me to be largely legacy from a less 
rigorous time.

It seems to me the shift has been fairly dramatic over the past two to 
three years, and this is why it was disconcerting to come back from 
hiatus and have things be so different from what I recall.



>> On Mar 29, 2016, at 1:10 PM, Daniel Dickinson <openwrt at daniel.thecshore.com> wrote:
>> Hi all,
>> I realized what part of my frustration (aside from medically causes reasons for oversensitivity) is that what I wanted from OpenWrt is not what OpenWrt is anymore.  I was looking for the old days of GNU/Linux when most everyone was playing and sharing the results of playing to benefit the community of players, and any contribution was welcome.
>> Those days are long gone, and for Linux as a whole and OpenWrt in particular the emphasis is now on a product and has a lot more rigour.
>> This is good for people who want a final product that approachs commercial quality (but sorry, if I wanted true commercial quality I'd build something based on Yoctol; if I was going to do 'real work' that's where I'd go), but not so good for people who want to experiment and play and share the results of same, and want to be welcomed for that type of input rather than treating OpenWrt as a second, unpaid, job.
>> The reality is that projects that get too serious lose community interest because most community members aren't looking for a second job, so unless you've got commercial interests willing to contribute back to the project, you lose mind share.
>> The Linux kernel is really not a playground anymore; it is dominated by commercial interests.  OpenWrt is trying to be like the kernel without the companies that contribute back.
>> Basically people who wonder why things like the attempt at an OLPC community failed miss that fact that if you make things too much like work, you need work-level incentives; if things you make things unfun then people who want to play not work won't be interested, and that means you some way to motivate people to do free work.  There are far fewer people who find that an interesting way to spend their time than people who will work either work for pay or play.  GNU/Linux didn't attract its initial developer and user base by being serious work, it grew to the point where enough people get paid to work on it, and contribute back, that it can take that approach.
>> Regards,
>> Daniel
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list