|
|
Subscribe / Log in / New account

The trouble with FreeBSD

By Jonathan Corbet
January 25, 2017

linux.conf.au 2017
Benno Rice, a member of the FreeBSD core team, might be expected to feel out of place at linux.conf.au, but it was not his first time there. While at the 2016 event in Geelong, he saw a presentation on Rust community automation [YouTube] by Emily Dunham and wondered: why can't FreeBSD have such nice things? The 2017 conference, held in Hobart, chose "the future of open source" as its theme but, Rice said, he was there to speak about the past; by looking at how FreeBSD ran into trouble, perhaps we can all learn something useful about how we run our projects.

He got involved with open source in the 1990s; he actually started with Linux, but somebody told him that "Linux is rubbish" and he should use FreeBSD instead. So he bought an iMac computer and got FreeBSD running on it; the project then punished him by giving him commit access. It is a great project, but it does have some problems relating to three factors in particular: FreeBSD is big, it's old, and its leadership can be slow to act.

How big is FreeBSD? The project's Subversion repository is currently about 3.1GB in size; a checked-out tree takes about 600MB. It consists of 71,100 files, about 32 million lines of code. It takes 20-30 minutes to build the whole thing, which is a big improvement from the old days, when it could take several hours.

The project is old, having gotten its start in November 1993; it was based on the 1992 386BSD release which, in turn, was based on much older code. So there is a lot of history. FreeBSD developers have only recently discovered automated testing, he said, but, for such testing to work, the software has to be structured properly, and FreeBSD isn't. Testing the kernel in an automated manner is especially hard. They do have some tests, though, many of which were borrowed from NetBSD, but they are focused mainly on user-space code.

With regard to slowness to act: like many community groups, FreeBSD is consensus-driven. The leadership is a nine-person elected team, but this team does not want to be seen as picking sides in any particular debate. The core team also does not want to be in control of the project's architectural direction. Originally, the core team was made up of the four founders of the project. The project as a whole followed the usual BSD model, giving commit access to good contributors, then appointing the best of those to the core team. Around 2000, though, the project switched to the current elected model. It works, but the consensus-driven model makes decisions slow.

Tools

For an example, consider the problems around tools and processes. A development project's source code is its core asset, and it must be well looked after. So the project needs a source-code management system. Initially, FreeBSD used CVS, which was a reasonable choice at the time, but the project stayed with CVS until 2008. Why didn't FreeBSD move off of CVS faster? It worked well enough for basic release management, but the real problem was that there was no consensus around what should replace it. BitKeeper was considered, but that was a proprietary system. Git and Mercurial came around later. The project considered Git, but didn't think it could handle a repository of that size, so it moved on.

The discussion went on for a long time. All communities have their perennial arguments that come back over and over; for FreeBSD, this was one of them. Developers did trial conversions to other systems, but consensus was elusive. When the decision was finally made, the project chose Subversion. It was not an optimal solution, but it did at least allow for changesets involving more than one file at a time, which was the biggest pain point with CVS at the time. In 2008, after eight years of arguments, Peter Wemm simply imposed a switch to Subversion; there has been relatively little whining since.

In comparison, Python started on CVS, moved to Subversion in 2004, then to Mercurial in 2009, and is now moving over to GitHub. The Python community's PEP process was helpful enabling the changes to happen. If, in the Python community, you want to make a change, there is a process to follow that forces you to think about it and make good arguments. Once the PEP is approved, you are clear to proceed. FreeBSD has no such mechanism.

In the Django community, developers realized that they were already using GitHub for everything except Django itself, so they simply pushed the change through and were done with it.

The source-code management debate was an example of the core team not wanting to take sides on an issue. The usual response in this kind of situation is to tell the developer to go and do a proof of concept implementation; that usually shuts them up, he said. But the only way to make a decision like this more quickly is to take a side. Doing so might have caused more "project angst", but perhaps that wasn't avoidable. Meanwhile, the project is talking about moving to GitHub. It has a repository there now, but nobody is paying attention to it, so if a developer submits a pull request, nobody will see it. With GitHub, he said, you have to either be there for real or not at all.

Rock-star developers

Another example has to do with community interactions, and the "not fun" task of dealing with bad behavior. A small community can usually talk things out fairly easily, but FreeBSD has hundreds of committers. FreeBSD leaders thus have to do a certain amount of human resources work. Developers tend to look down on the human resources department in their company, but it does have its value; it's how you don't end up in court. FreeBSD's disagreements are unlikely to end up in court, but you still need somebody to step in and straighten things out occasionally.

FreeBSD does maintain a committer's guide, which has two sections on interactions with other developers. It has advice like "do not impugn the intentions of somebody you disagree with", "accept correction", "ask for help", and more. There are also rules, including "respect other committers", "discuss [Benno Rice] significant changes before committing them", and "do not fight in public with other committers". There are some paragraphs on actions the core team can take to deal with violations; these include suspending commit access or removing a violator from the project's mailing lists. It could, he said, be the beginning of a code of conduct for the project.

"One of the more spectacular incidents" in this area involves the famous Matthew Dillon, who joined the project in 1994. He quickly showed himself to be a talented developer, with a special knack for dealing with esoteric virtual-memory bugs. But he was not a team player, preferring to be in charge. So, when he started working in any particular area, he would tend to take charge at the expense of anybody else working on that code.

Like most early multiprocessor-capable kernels, FreeBSD had a big kernel lock; Dillon wanted to get rid of it for the FreeBSD 5 release. John Baldwin had been already looking at breaking up the big kernel lock; Dillon joined the effort and things went well for a while. Then the two developers ran into a disagreement over how critical sections should be handled. Baldwin argued for simply disabling interrupts, but Dillon said that was too inefficient; he committed a different change involving a flag in the low-level interrupt handler. It was faster on the x86 architecture, but x86 is not the only architecture supported by FreeBSD.

This change led to a number of big arguments, with Dillon eventually backing out the change. A month-long acrimonious debate followed; eventually Dillon's change went in, but there were a lot of other, similar incidents. It was a classic case of a "rock-star ninja 10x developer" not getting along with the rest of the project.

The core team responded with a set of new rules about when commits could be made and the penalties for engaging in "commit wars". Eventually the problem came to a head when Dillon committed a change to what was supposed to be the FreeBSD 5 stable branch. After more argument, he backed it out with a commit that read: "Bow to the whining masses..."; it also threw in some unrelated cleanups "just for the hell of it". After that, the core team took his commit access away, and he eventually left the project.

Leadership is hard, Rice said. If the project had had an established code of conduct at that time, it might have been in a better position to deal with this rock-star developer problem.

Burning trash piles

After Dillon left, things calmed down for a while — until Gamergate ("a burning trash pile made of other burning trash piles") came along. One of the figures in Gamergate was Randi Harper, a former FreeBSD developer. She did a lot of much-appreciated work on the installer, then got a job at Amazon and, as often happens with Amazon employees, she stopped doing community work, though she still hung around on the mailing lists and such.

Harper, a combative personality, jumped into the Gamergate fray with gusto after being attacked. One day she decided to block the Gamergate "trash humans" out with a Perl script; it worked, causing them to lose their minds, Rice said, at which point they started attacking FreeBSD. The core team started getting emails asking it to deal with the problem, saying that Harper was dragging FreeBSD into the whole mess. Initially, they responded by saying it wasn't related to the project and there wasn't much they could do about it.

Things got worse when a FreeBSD developer joined the Gamergate side and started attacking Harper on Twitter; she attacked back. Things moved to a private FreeBSD IRC channel, which witnessed some heated discussions; the attacker then leaked a log of the conversation to Breitbart. That was a violation of the project's policies, so, at that point, the core team had no choice but to get involved.

Harper wanted three things from the core team: an official code of conduct for the project, a statement that the team was investigating this behavior and would not tolerate harassment, and for that person to be quietly removed from the project. The core team responded that the code of conduct was already in progress and that sanctioning the other developer was hard due to the fact that the bulk of the activity happened outside of the project's communication channels. Policing your own area is relatively easy; it's harder when things happen on sites like Twitter or Reddit. In any case, that became a moot point when the developer resigned.

The FreeBSD project does now have a code of conduct; it is, Rice said, a "patched-up rush job". Project members still honestly thought that "meritocracy" meant "inclusiveness" initially. They have since learned otherwise, and the code is being reworked. Meanwhile, Harper wrote a blog post about how badly the whole thing was handled; there were some valid criticisms in there, Rice said, with some things to learn from.

The real trouble with FreeBSD

So how can the problems with FreeBSD be fixed? Some of those problems are a function of the project's size, which is something that can't really be fixed. There are things that could be done, though. FreeBSD is still shipping sendmail, for example, which may no longer be necessary; taking it out would make FreeBSD a little smaller. FreeBSD is still a big, monolithic distribution, but there is some talk of splitting it up into packages. This is a place where interested people could help. There are also opportunities in automation, testing, and elsewhere.

Other problems are tied to the project's age, but that is hard to fix too. FreeBSD will not be getting any younger. It can be hard to change baked-in attitudes. For example, there is resistance to moving to GitHub because people in the core team and beyond are attached to running their own infrastructure. Such things can be worked around, but an attitude shift will be needed.

With regard to leadership, that could be fixable but it, too, would require an attitude shift in the core team. The team does not need to be an architectural leader, it needs to be a "scaffolding leader". It just needs to ensure that "the things the project needs to do a good job" are available. The core team should focus on how FreeBSD is made, rather than what it should be. Its job should be reducing friction for developers.

But that points to the real trouble with FreeBSD: it is made and led by volunteers. There is nobody whose job is purely to make FreeBSD more awesome. There are plenty of people tasked with making it more awesome for their employers, but that work doesn't always help in the long term. Those employers get a faster build system, but automated testing languishes. Somehow, the project needs more resources to be able to focus on making FreeBSD "a fun and awesome place" because that is how they can ensure that it will be around for a long time to come.

The full video of this talk is available.

[Your editor would like to thank linux.conf.au and the Linux Foundation for assisting with his travel to the event.]

Index entries for this article
Conferencelinux.conf.au/2017


to post comments

The trouble with FreeBSD

Posted Jan 26, 2017 5:22 UTC (Thu) by jackb (guest, #41909) [Link] (30 responses)

Marxists do not infiltrate organizations to improve them, they infiltrate them in order to destroy them, and this is what creates the effect noted by Vox Day:

The more an institution converges towards the highest abstract standard of social and distributive justice, the less it is able to perform its primary function.

Natural selection will work everything out in the end, of course, but it's a shame to see so many previously-productive projects on the losing end.

The trouble with FreeBSD

Posted Jan 26, 2017 7:58 UTC (Thu) by Frogging101 (guest, #113180) [Link] (15 responses)

Agreed. The snipe at meritocracy is a prime example. Meritocracy was never supposed to be about inclusiveness; it's about giving credit based on an individual's real contributions and ability. Merit based on the work they do for the project. It's part of a healthy working attitude; we're all here to get a job done, so let's do it. Projects that allow themselves to be derailed with irrelevant ideological axe-grinding will lose their productivity and will themselves become irrelevant, and the ones who end up paying for it are the users and developers who actually care about the project.

The trouble with FreeBSD

Posted Jan 26, 2017 8:34 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (13 responses)

Meritocracy was meant to be a satirical concept so clearly wrongheaded that nobody could think it was a good idea. There is no true meritocracy - there's only an arbitrarily chosen set of metrics that any given organisation considers to be of merit, and people who either benefit or lose out as a result of that specific choice. We don't understand community dynamics and the process of software development well enough to say with absolute certainty that a given set of metrics is objectively the correct measure, and as a result we cannot provide a meaningful definition of merit.

A project may choose to define "merit" based on numbers of lines of code, or on number of introduced bugs, or on benchmark improvements. A project may also choose to define "merit" based on ability to recruit a wider range of developers into a project, to work well with others, to avoid discouraging involvement by permitting a toxic atmosphere to exist. There's no way you can objectively assert that the former will result in a better project in the long run - we simply do not have the experience, understanding or results to make that claim.

The trouble with FreeBSD

Posted Jan 26, 2017 15:40 UTC (Thu) by spaetz (guest, #32870) [Link] (9 responses)

> Meritocracy was meant to be a satirical concept so clearly wrongheaded that nobody could think it was a good idea.

That sounds interesting but is news to me. Do you have a source for that?

> We don't understand community dynamics and the process of software development well enough to say with absolute certainty that a given set of metrics is objectively the correct measure, and as a result we cannot provide a meaningful definition of merit.

Just because there is no single set of metrics that can measure it, does not imply that we can't define it meaningful. Think of happiness: there is no single set of metrics for it, that does not mean that we cannot define it or measure aspects of it.

The trouble with FreeBSD

Posted Jan 26, 2017 15:48 UTC (Thu) by epa (subscriber, #39769) [Link] (2 responses)

The trouble with FreeBSD

Posted Jan 26, 2017 19:55 UTC (Thu) by spaetz (guest, #32870) [Link] (1 responses)

Thank you very much. I should have searched wikipedia before asking...

The trouble with FreeBSD

Posted Jan 26, 2017 23:44 UTC (Thu) by smitty_one_each (subscriber, #28989) [Link]

> "The word was adopted into the English language with none of the negative connotations that Young intended it to have and was embraced by supporters of the philosophy."

It's almost as though Michael Young encountered a meritocracy.

The trouble with FreeBSD

Posted Jan 26, 2017 17:02 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (5 responses)

Personal happiness is something that an individual can quantify. Merit isn't.

The trouble with FreeBSD

Posted Jan 27, 2017 11:37 UTC (Fri) by liam (guest, #84133) [Link] (4 responses)

I realize this is very off-topic, so i won't pursue it beyond the asking of this question.

Why do you think people can "quantify" their own happiness better than, say, someone who knows them very well?

The trouble with FreeBSD

Posted Jan 27, 2017 15:09 UTC (Fri) by bronson (subscriber, #4806) [Link] (1 responses)

I don't think mjg59 made any sort of claim. Where do you see discussion about individuals gauging happiness vs people knowing them very well?

(and, agreed, this doesn't sound worth pursuing)

The trouble with FreeBSD

Posted Jan 28, 2017 6:31 UTC (Sat) by liam (guest, #84133) [Link]

Hi Bronson, I'll just reply to this one, and if you wish to discuss it further, let me know and we can continue elsewhere.

I read his post as a statement that made two claims: 1. happiness is quantifiable (i assume he means beyond a binary state), 2. only the person who had the experience in question can say if it corresponded to the sign "happy".
The reason for asking the question was to clarify my understanding of mjg's position during the following (I'm including the first quote for context)

[mjg]A project may choose to define "merit" based on numbers of lines of code, or on number of introduced bugs, or on benchmark improvements. A project may also choose to define "merit" based on ability to recruit a wider range of developers into a project, to work well with others, to avoid discouraging involvement by permitting a toxic atmosphere to exist. There's no way you can objectively assert that the former will result in a better project in the long run - we simply do not have the experience, understanding or results to make that claim.

[spaetz]Just because there is no single set of metrics that can measure it, does not imply that we can't define it meaningful. Think of happiness: there is no single set of metrics for it, that does not mean that we cannot define it or measure aspects of it.

[mjg]Personal happiness is something that an individual can quantify. Merit isn't.

I mentioned "other people" because this discussion is, i think/hope, about what organizing principles help to enable a successful project.
Making up that discussion are, i believe, a few more basic questions. Is it right for a community to create a set of (membership) rules which are, or can be, exclusionary? If yes, what kind of exclusions are ethical? Can we create a set of rules that are strongly correlated (essentially, causal) with successful communities?
From the above quotes, mjg's reasoning as to why one quantity was measurable (at least by someone), but not the other, was unclear. Since he seemed to accept the idea that we can measure emotional states, i wanted to know why such measurements can only be made by an individual. His answer suggests an epistemology which includes a belief in something like noumena (or maybe qualia might be a better fit).

The trouble with FreeBSD

Posted Jan 27, 2017 18:45 UTC (Fri) by mjg59 (subscriber, #23239) [Link] (1 responses)

Someone external can only judge happiness based on behaviour, and said behaviour may not be a true representation of an individual's internal state.

The trouble with FreeBSD

Posted Jan 28, 2017 3:57 UTC (Sat) by liam (guest, #84133) [Link]

Alright. Thanks for the explanation. I disagree, and think that's a simplistic (or maybe just optimistic?) understanding of human psychology, but I still very much appreciate your polite answer.

The trouble with FreeBSD

Posted Jan 30, 2017 2:56 UTC (Mon) by ghane (guest, #1805) [Link] (2 responses)

> Meritocracy was meant to be a satirical concept so clearly wrongheaded that nobody could think it was a good idea.

I live in Singapore, having moved here many years ago out of choice.

As a data point, "meritocracy" is a positive word here, and oft-repeated Government policy. It is seen as an antidote to the racial, ethnic, and religious issues common in in the region. And to a very large extent, it has succeeded.

Despite being a minority, (linguistic, religious, ethnic, handsomeness), meritocracy assures me that when I speak with people, all they are evaluating is if I am pitching a valid solution, at a cost they are willing to bear.

Matthew, thanks for the reference, I was not aware it was initially a satirical concept. But since the mid-60s, it has been used in a positive sense, an ideal, here.

The trouble with FreeBSD

Posted Feb 6, 2017 6:57 UTC (Mon) by alankila (guest, #47141) [Link] (1 responses)

Meritocracy may be the worst principle for social organization except for all the others that have been tried before.

The trouble with FreeBSD

Posted Feb 6, 2017 7:16 UTC (Mon) by mjg59 (subscriber, #23239) [Link]

Any system that fails to take into account the circumstances of individuals is inherently going to reward people who look like the existing leadership at the expense of people who don't. This isn't just unfair, it means that you end up making it much harder for people to grow inside your community and harder to recruit people from backgrounds that don't match the majority of the existing community. It may be less bad than some other models, but that doesn't mean it's acceptably good.

The trouble with FreeBSD

Posted Jan 26, 2017 8:42 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

The projects that have only "meritocracy" have high risk of becoming dominated by assholes. And after that they usually just slowly degrade.

The trouble with FreeBSD

Posted Jan 26, 2017 8:36 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (4 responses)

The number of marxists I've met in the free software world is sufficiently (and depressingly) small that it seems odd you'd feel they pose any kind of threat. Did you mean something else?

The trouble with FreeBSD

Posted Jan 26, 2017 16:22 UTC (Thu) by jackb (guest, #41909) [Link] (3 responses)

Similarly to the question of how many pieces of post-digested food it takes to ruin a punchbowl, only one is required to destroy a formerly-effective project.

The trouble with FreeBSD

Posted Jan 26, 2017 17:03 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (1 responses)

Which projects have you seen destroyed by Marxists?

The trouble with FreeBSD

Posted Feb 3, 2017 14:58 UTC (Fri) by zxcv (guest, #113905) [Link]

I still use it, but Firefox/Mozilla seems to be dying.

The trouble with FreeBSD

Posted Feb 5, 2017 13:29 UTC (Sun) by Wol (subscriber, #4433) [Link]

As a European, I find it depressing how much of our world is being destroyed by Capitalists, not Marxists.

And, like mjg, I suspect that *true* Marxists (and Communists), ie those who actually understand and follow the teachings rather than the rather too dominant perversions, would actually be very welcome on many projects.

Unfortunately, it looks to me very much like Karl Marx's prophecy that capitalism would destroy itself will soon come true. The problem is that it looks like it will take a lot of the world with it ... :-(

Cheers,
Wol

The trouble with FreeBSD

Posted Jan 26, 2017 9:48 UTC (Thu) by GhePeU (subscriber, #56133) [Link] (8 responses)

Is there an Internet law somewhere that says that the moment you find somebody quoting self-avowed racists, bigots, misogynists to make any sort of point you can start safely ignoring whatever they say next because it's extremely likely to be completely devoid of value? If there isn't, somebody should formulate it.

The trouble with FreeBSD

Posted Jan 26, 2017 15:52 UTC (Thu) by jackb (guest, #41909) [Link] (7 responses)

racists, bigots, misogynists

A law I go by is that anyone using these words non-ironically can be safely ignored, since their ideas are so incredibly bad they have to resort to insults and verbal abuse when their arguments prove to be insufficient to the task.

The trouble with FreeBSD

Posted Jan 26, 2017 15:55 UTC (Thu) by jake (editor, #205) [Link]

It would seem we have strayed a fair ways from the topic of the talk ... I imagine there are other forums to "discuss" this kind of stuff, can we please not do so here?

thanks,

jake

The trouble with FreeBSD

Posted Jan 26, 2017 18:44 UTC (Thu) by dskoll (subscriber, #1630) [Link] (5 responses)

Do you seriously imply that those words never actually apply?

The trouble with FreeBSD

Posted Jan 27, 2017 5:34 UTC (Fri) by zlynx (guest, #2285) [Link] (4 responses)

Calling people names seems to be going around a lot these days. I too, deal with it by ignoring the name calling.

Using broad names to discredit someone pretty much automatically means that the name caller has no argument. Otherwise there would be talk of *specific* events.

The trouble with FreeBSD

Posted Jan 27, 2017 10:14 UTC (Fri) by GhePeU (subscriber, #56133) [Link] (3 responses)

I refrained from replying because our hosts suggested we end this thread of conversation, but I'm not going to let more readers assume that my silence means I have no arguments.

Vox Day believes that having given women the right to vote, work and "fornicate freely" is destroying Western civilization [1], that they're inherently incapable of thinking objectively and shouldn't be allowed in academic fields because they'll "ruin science" [2], that there is no such thing as marital rape [3] and that the idea of consent is pretty fishy too [4].

He also believes that the mere presence of black people is destroying Western civilization [5], that black people are half-savages who never contributed anything to civilization and are incapable of maintaining a preexisting one anyway [6], that homosexuality is a birth defect that should be cured to allow gays to achieve "sexual normality" [7] and that acceptance of homosexuality is destroying Western civilization too [8] (I think I'm seeing a pattern here).

What else? Oh, yes, non-Christian religions should be strictly limited if not outright banned [9], Christians being a majority they should be able to ignore laws and courts [10] and the Inquisition and the Crusades should be the source of inspiration for modern Christians [11]. I'll let you check for yourself what he thinks about atheists and secularists, or his ideas about the hierarchy of males (alpha, gamma, sigma, and it goes on) because I think I waded into this cesspool long enough.

So, yes, if someone quotes this guy I'm not giving him the benefit of the doubt.

[1] http://www.wnd.com/2005/08/31677/
[2] http://www.wnd.com/2008/03/58449/
[3] http://voxday.blogspot.it/2009/08/there-is-no-marital-rap...
[4] http://voxday.blogspot.it/2005/12/mailvox-hidden-contempt...
[5] https://voxday.blogspot.it/2016/08/are-blacks-worse-than-...
[6] http://voxday.blogspot.it/2013/06/a-black-female-fantasis...
[7] http://voxday.blogspot.it/2010/08/ending-gay-defect.html
[8] http://voxday.blogspot.it/2014/09/the-sixth-most-evil-aut...
[9] https://voxday.blogspot.it/2015/11/the-first-amendment-is...
[10] http://voxday.blogspot.it/2016/01/secularism-is-not-const...
[11] http://voxday.blogspot.it/2015/04/the-gates-of-hell-shall...

The trouble with FreeBSD

Posted Jan 27, 2017 17:56 UTC (Fri) by jackb (guest, #41909) [Link] (2 responses)

You've managed to demonstrate that Vox Day has a hypothesis or two. So far, so good.

Tragically though, you seem to be under the mistaken impression that the way to falsify a hypothesis is to point at it in indignation and loudly declare how much you can't even.

Your choice, of course, but you should know that type of behavior has resulted in two unintended consequences for you:

1: The work of approaching these questions rationally (form null hypotheses, gather data, compare predictions to data), has not stopped. It merely moved out of sight into decentralized, private networks.

2: If any conclusions are reached in the course of the decentralized investigation that indicate an action plan, you won't be consulted on it.

Enough

Posted Jan 27, 2017 18:08 UTC (Fri) by corbet (editor, #1) [Link] (1 responses)

Seriously, all of you, it is time to stop this. There are plenty of places to have this discussion, but LWN is not really one of them. And yes, I said "all of you", not just the end-of-thread comment I'm replying to now. Please.

Enough

Posted Feb 12, 2017 15:06 UTC (Sun) by jubal (subscriber, #67202) [Link]

At some point you will have to take a stand and be counted, no matter how badly you want to avoid it. I understand why you want to avoid it, but that is inevitable. You won't be able to treat this just as a different view points irrelevant to the topic at hand for much longer, I'm afraid.

The trouble with FreeBSD

Posted Jan 26, 2017 5:48 UTC (Thu) by alison (subscriber, #63752) [Link] (3 responses)

This article and the report on the talk by r0ml are excellent. Thanks to corbet and LWN for more excellent coverage. I've started watching LCA vids, and will assuredly check out Rice and r0ml's talks.

The trouble with FreeBSD

Posted Jan 26, 2017 15:58 UTC (Thu) by corbet (editor, #1) [Link] (2 responses)

Thanks.

This is one of those mornings when I read the comments and wonder what we're doing all this for. You've helped me to remember.

The trouble with FreeBSD

Posted Jan 26, 2017 18:46 UTC (Thu) by mbunkus (subscriber, #87248) [Link] (1 responses)

I'll gladly second alison here. I've just finished the whole "The trouble" article, and yesterday I watched the whole of r0ml's talk just based on your recommendation. Both were time (and money) very well spent. A big "thank you!" to you and the rest of the team for your excellent work.

The trouble with FreeBSD

Posted Jan 29, 2017 20:37 UTC (Sun) by jond (subscriber, #37669) [Link]

Thirded, thanks!

The trouble with FreeBSD

Posted Jan 26, 2017 20:47 UTC (Thu) by aggelos (subscriber, #41752) [Link] (13 responses)

In any case, that became a moot point when the developer resigned.
Dunno if this was transcribed properly. If it was, it sounds worrying.

Transcription

Posted Jan 26, 2017 20:51 UTC (Thu) by corbet (editor, #1) [Link] (12 responses)

As far as I know, it's correct. What part is worrying?

Transcription

Posted Jan 26, 2017 21:15 UTC (Thu) by aggelos (subscriber, #41752) [Link] (11 responses)

Harassment becoming a moot point, when the harasser (or was it the harassee? It's not clear to me from the text in the article and I'm not familiar with that particular situation) quits the project.

On a more general note, I take issue with an article that paints named individuals as being the problem (which is the impression I got from the text. Perhaps I'm misreading it?). I wish the presentation had focused on the wider issue of what went wrong, lessons to be learned, what's changed for the better and so on (I can only find nods in that direction in the article). But in the absence of such a presentation, I'm uncomfortable with a transcription which reproduces the presenter's claims on the people involved. If for no other reason, because I feel it distracts from the actual issues.

Staying with the gamergate-derived case, I'm going to go out on a limb and claim that if harassment goes on for a significant amount of time, it is well worth considering whether that kind of behavior might be acceptable or tolerated in, or by significant parts of, a specific community. Note, I'm making no such claim on the FreeBSD community; I don't know much about it. This is just to reiterate the point that these are larger problems and cannot simply be pinned on bad apples.

Transcription

Posted Jan 26, 2017 21:20 UTC (Thu) by corbet (editor, #1) [Link] (10 responses)

Disciplinary action against a project member is indeed moot if that member leaves the project. What can they do at that point?

As for things going on for a long time...he did, several times, that slowness to act is one of the project's big problems.

I'm sorry if you don't like the article. I thought it was an interesting talk.

Transcription

Posted Jan 26, 2017 22:18 UTC (Thu) by aggelos (subscriber, #41752) [Link] (9 responses)

Disciplinary action against a project member is indeed moot if that member leaves the project. What can they do at that point?

Perhaps investigate why the issue went on for so long?[0] The quote above seems essentially like the "bad apples" narrative recast into question form (which was my issue with the presentation and thought the LWN article did not adequately consider). Note that I'm assuming both good faith and potential disagreement.

The "rock star developer problem" might also seem like revisionist history (is there any other kind? ;-)) to some, which again seems to detract from the value of the article. There /are/ larger issues to talk about here. Focusing on individual actions (let alone individual qualities) feels like a distraction, to this commenter at least.

As for things going on for a long time...he did, several times, that slowness to act is one of the project's big problems.

That's certainly one reading of the events (see [0]). Instead of getting mired in the (very much debatable) specifics, let me simply restate my point about how simply transcribing the presenter's claims (a) reinforces what I consider to be a misleading and counterproductive narrative about bad apples and (b) opens the article up to criticism about inadvertently reproducing a significantly slanted version of past events (I dare say the story of how Matthew Dillon left FreeBSD might not be so clear cut either[1]).

I don't consider this to be a controversial position.

[0] Had to dig a bit to find the account of the developer who was so harassed. AFAICT she's pointing out a number of facts that contradict the narrative given by the presenter and casts doubt on the willingness of the core team to actually take action https://web.archive.org/web/20161007003804/https://blog.randi.io/2015/12/31/the-developer-formerly-known-as-freebsdgirl/

[1] Tangentially, stereotyping people is bad enough, but all of rock-star, ninja and 10x- developer? Please :-)

Transcription

Posted Jan 26, 2017 23:08 UTC (Thu) by corbet (editor, #1) [Link] (3 responses)

I believe that a FreeBSD core team member's view of how the core team acted (or failed to act) is relevant, I do not apologize for covering it. You are free to disagree with it, but I'm not really sure why you're shooting the messenger here.

Transcription

Posted Jan 27, 2017 0:44 UTC (Fri) by rahvin (guest, #16953) [Link] (1 responses)

I thought the coverage was appropriate, you covered well the response by the community in a summarized form this was intended to be. If someone wanted more details the full talk is available to watch and the mailing lists and other information are in the FreeBSD archives.

The poster is requesting more detail than is appropriate for the intent and length of the article. I doubt there's very many people reading this that wanted a 40 page blow by blow of what happened and what the response was and I seriously doubt you'd want to write it.

Transcription

Posted Jan 27, 2017 10:18 UTC (Fri) by aggelos (subscriber, #41752) [Link]

The poster is requesting more detail than is appropriate for the intent and length of the article. I doubt there's very many people reading this that wanted a 40 page blow by blow of what happened and what the response was and I seriously doubt you'd want to write it.

In case it's still unclear: that's pretty much the opposite of what I requested.

Transcription

Posted Jan 27, 2017 10:14 UTC (Fri) by aggelos (subscriber, #41752) [Link]

There is no messenger here. LWN has agency in what it chooses to cover and how. Selecting to cover this presentation was an editorial choice. Choosing to relate these details of the presentation and not others. Transcribing without commenting or checking of the facts. Those are all choices that matter. They are, in effect, speech.

Choosing what to reproduce and disseminate is a statement. It may have been intentional. It may not. It's still a statement of LWN, not of the presenter.

Transcription

Posted Jan 27, 2017 0:48 UTC (Fri) by rgmoore (✭ supporter ✭, #75) [Link] (2 responses)

Focusing on individual actions (let alone individual qualities) feels like a distraction, to this commenter at least.

My reading is that those are intended to be case studies. Providing specific, concrete examples of problems is often a better way of making a point than some kind of dry summary that people might dismiss as speculative.

Transcription

Posted Jan 27, 2017 10:36 UTC (Fri) by aggelos (subscriber, #41752) [Link] (1 responses)

Right. The concrete example I would expect is that, in this instance, harassment was allowed to go on until a person was driven away from the project. That the offending person left and so the core team did not take a position. That what remains of this exercise in norms setting is (in quotes in the article) a "patched-up rush job" of a code of conduct. It is at this level that I'd expect the issue to be discussed.

Reiterating my earlier point, the focus on individual qualities seems to be exactly because the narrative is "there were problematic people but that sorted itself out by everyone leaving"[0].

[0] The presentation (article?) fails to mention that the person being harassed had to leave too. I would think this bit of information would find its way into any kind of well-intentioned case study.

Transcription

Posted Feb 2, 2017 11:13 UTC (Thu) by Wol (subscriber, #4433) [Link]

"The police didn't bother to investigate the fight because the perpetrators ran away".

Is that a good analogy to what happened? Aggelos is concerned because the person/people concerned left, and he has no idea whether the offender left or the victim was driven out.

Unfortunately, this seems quite common - I gather gentoo had this sort of trouble a while back :-(

Cheers,
Wol

Transcription

Posted Feb 2, 2017 11:38 UTC (Thu) by paulj (subscriber, #341) [Link]

Thanks for linking to the blog post with another perspective on one of the examples given.

Transcription

Posted Feb 2, 2017 16:35 UTC (Thu) by tjc (guest, #137) [Link]

> I dare say the story of how Matthew Dillon left FreeBSD might not be so clear cut either

Yes, my thought as well.

Moving to GitHub

Posted Jan 27, 2017 9:49 UTC (Fri) by ber (subscriber, #2142) [Link] (13 responses)

It somehow irritates me that moving to Github seems a natural positive thing these days in a Free Software Initiative. (I realize the article tries to describe the opinion of the presenter given in the talk.)

While moving to a service provider could be good, when it helps focusing more on the development itself instead of running infrastructure services. But Github aims to lock in its users by building a social network as opposed to creating Free Software products that could be run by a federation of companies and them being a good one of those.

Moving to GitHub

Posted Jan 28, 2017 0:10 UTC (Sat) by flussence (guest, #85566) [Link]

I see moves to Github as a parallel to how most CVS users moved to SVN. It's not a great tool by any means (it's guaranteed to go wrong like BitKeeper did, and GitLab beats it on most fronts) but often the state of where a project's coming *from* is bad enough to make the change worth doing.

It irritates me to no end when sizeable projects direct their users to Github for nearly everything, but then erect a giant barrier to contribution by using some awful off-site bug tracker that's often full of bugs itself.

Moving to GitHub

Posted Feb 2, 2017 7:33 UTC (Thu) by massimiliano (subscriber, #3048) [Link] (11 responses)

It somehow irritates me that moving to Github seems a natural positive thing these days in a Free Software Initiative. (I realize the article tries to describe the opinion of the presenter given in the talk.)

Maybe we should try to consider GitLab ("https://about.gitlab.com") more: it is a reasonable alternative to Github, and it is free software (ok, with a proprietary option, but way more open than Github).

Moving to GitHub

Posted Feb 2, 2017 9:02 UTC (Thu) by NAR (subscriber, #1313) [Link] (1 responses)

Speaking of GitLab: https://docs.google.com/document/d/1GCK53YDcBWQveod9kfzW-...

"in other words, out of 5 backup/replication techniques deployed none are working reliably or set up in the first place."

Moving to GitHub

Posted Feb 2, 2017 12:02 UTC (Thu) by chojrak11 (guest, #52056) [Link]

Be sure that thanks to their transparency about the issue they'll survive this incident, losing almost no customers. (That's also the winning point of Git and its distributed nature - I could essentially continue to work on the code during the downtime.) And I have confidence that nothing like that will happen ever again in the future. They have got much more luck than wisdom, but they've learned from it and already started to improve. It's a safe bet for the future.

Migration to GitLab doesn't neccessarily mean putting your repos on their servers (which is the easiest and best option anyway). You can just download GitLab software and create your own infrastructure if that suits you better. That's the huge difference between them and GitHub.

Moving to GitHub

Posted Feb 2, 2017 13:20 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

And they're accepting of community contributions. If you need an enterprise feature, make the case, implement it and it can go into the community edition. Way more palatable than other "open core" projects. However, most of the enterprise features are things individuals wouldn't care about (advanced LDAP stuff and the like). There are some features that'd be nice in the community edition, but could probably he pulled down if you wanted them (mirroring, git-annex, and more).

Moving to GitHub

Posted Feb 12, 2017 13:43 UTC (Sun) by catalinuxboie (guest, #112452) [Link] (7 responses)

Hello!

Gitlab requires signing a CLA (Contributor License Agreement).
In my opinion this is not in the free software spirit.

Why not use a real free software one?!
How can we expect the free software ones to take off if we ignore them and suggest less than free software ones?!

Disclaimer: I am the author of the only (as far as I know) AGPL git hosting software: https://rocketgit.com

Moving to GitHub

Posted Feb 13, 2017 1:27 UTC (Mon) by mathstuf (subscriber, #69389) [Link] (6 responses)

No it doesn't? I've never been asked to sign one at least and I've sent them patches that they've accepted. Do you have a link for that CLA claim? It certainly isn't assignment at least.

Moving to GitHub

Posted Feb 13, 2017 6:44 UTC (Mon) by liw (subscriber, #6379) [Link] (5 responses)

https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTR...

"By submitting code as an individual you agree to the
individual contributor license agreement.
By submitting code as an entity you agree to the
corporate contributor license agreement."

Moving to GitHub

Posted Feb 24, 2017 15:38 UTC (Fri) by mathstuf (subscriber, #69389) [Link] (4 responses)

That's not much different than one would expect. It's not assignment (so I can redistribute just fine), and it is MIT licensed anyways, so inclusion in EE is allowed without that grant anyways (by my understanding; corrections welcome).

Moving to GitHub

Posted Feb 26, 2017 16:53 UTC (Sun) by catalinuxboie (guest, #112452) [Link] (3 responses)

I think the question is: why one should contribute to a project with a license which will allow integration of you hard work patches into a non free software project (GitLab EE)?
Why not contributing to a real free software project, which will not allow stealing and extending your work?

Moving to GitHub

Posted Feb 26, 2017 17:24 UTC (Sun) by zdzichu (guest, #17118) [Link]

You are aware that the article is about FreeBSD?

Moving to GitHub

Posted Feb 26, 2017 19:57 UTC (Sun) by mathstuf (subscriber, #69389) [Link] (1 responses)

I contribute to tmux because screen does not fit my needs. I do not have time to make screen fit those needs. Therefore I improve a free software project that, though it can be used to improve a proprietary product, benefits me as well for a reasonable amount of invested time. And before anyone says "why bother with FOSS at all?", the ability to improve a project is worth a decent loss of functionality (to me). It seems that you have drawn your line further down the spectrum, which I do respect, but I cannot commit to it myself due to a different balance of interests I value and allocate time to. Others can't draw the line as far as I have.

I also reject your No True Scotsman statement about "real free software". Gitlab is licensed under an acceptable license that meets the definition. It is not stealing my work; I accept the license terms and their consequences because Gitlab has yet to show that they are acting in bad faith with their CE/EE split (e.g., taking a feature I contribute and adding it to EE, but not to CE). If such things do happen, I'd like to know about it because it is not a good sign for the project and I'd like to start looking at ways to help remedy the problem and/or look for alternative solutions.

Moving to GitHub

Posted Feb 27, 2017 1:27 UTC (Mon) by anselm (subscriber, #2796) [Link]

I also reject your No True Scotsman statement about "real free software". Gitlab is licensed under an acceptable license that meets the definition.

Note that catalinuxboie has his own project that competes with GitHub and Gitlab and is supposed to be “real free software” (according to him). He'd probably prefer it if you contributed to his project rather than Gitlab.

The trouble with FreeBSD

Posted Feb 3, 2017 4:15 UTC (Fri) by ras (subscriber, #33059) [Link]

> he saw a presentation on Rust community automation [YouTube] by Emily Dunham

Wow. Emily should be proud. There aren't many talks that can point to this sort of direct positive outcome.

Managing community values is a very popular topic for presenters. I've seen far to many of them. I'd summarise most of them as a list of the speakers pet hates followed by suggestions to ban such behaviour. I now try to avoid such talks.

I didn't succeed avoiding Emily's talk. She tricked me with her title - I thought it was about Rust. Instead it was a talk about the sort of interaction the Rust community wanted to see, and the very concrete, practical things they did to steer the community towards such behaviour. She spoke like an engineer tasked with a problem, solving it, and telling us how it was solved. It was a group effort of course - she was just one cog in a much bigger whole. But she was also the cog that told the story - and she did it very well.

If I ran the place, I'd make such talks required viewing.


Copyright © 2017, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds