7

I'm trying to help the Rebol project re-engineer its web presence now that it is open source as Apache 2 — after nearly two decades of proprietary license!

The language's creator currently has registrar control of the rebol.com/.org/.net sites. He wishes to keep control of the rebol.com domain as a holding for his Rebol Technologies company (and its remaining non-open codebases). But he has indicated a willingness to let the community take over rebol.org and rebol.net — which are sites that show their age at present. They need large overhauls in terms of organization / content / visual theming; and the current proposal is that the .org become a neutral Wikipedia-like documentation and curated module library (with few outbound links), while the .net be a more sociable "developer network" of diverse community resources.

While the creator is trusted as being benevolent, he can't really be a benevolent dictator for the project, as he has largely released his interest in Rebol due to a new career. Moreover, the turnaround in responding to community concerns has historically been on very long timescales... and hence many alternative sites have popped up to fill in the gaps.

The question of how to take control of the issue and get the community to invest in content hosted under the nice domain names—rather than each going their separate direction—is a thorny one. For comparison, I did WHOIS domain-name checks and a little research on the main go-to sites for Ruby and Python.

ruby-lang.org

  • Admin Name: Matsumoto.Yukihiro Matsumoto.Yukihiro
  • Admin Organization: Ruby Users Group

It seems that the source to ruby-lang.org is maintained on GitHub. If I read it correctly, there are 35 members of the ruby GitHub organization, though I don't know enough about that to know which of these people have commit access or what the checks and balances are.

I don't see any official link defining the "Ruby User's Group". There is a non-profit called Ruby Central that seems to do some organization, but the only holdings I could find was some controversy when the Rails guy tried to prevent people from using the rails logo. ruby-lang.org seems to have almost no remarks on legal structure.

python.org

This seems significantly more formal, as they have bylaws and you can either buy your way into the voting structure with sponsorship...or be nominated / elected by a member of the existing membership.


I like how lightweight and trusting the Ruby model is. But if Matz were hit by a bus—then other than people being sad—what would happen? Whose hands would ruby-lang.org fall into? What if the situation were slightly different such that Matz were very trusted on technical matters, but not to follow up on getting site issues fixed in a timely manner?

Python seems to have this more planned out, but is rather heavyweight. According to Wikipedia the Python Software Foundation was formed in 2001, has 124 members with Guido Van Rossum as president, and had a budget of $750,000 in 2011!

So how might a project with fewer resources manage something as simple as a couple of domain names, and how content disputes will be resolved? There's a desire to reboot the identity...but without some form of enforceable contract it's not likely going to please the parties involved.

2
  • While I think this is a terribly interesting and valuable topic, I am not sure this is the best place for it, especially given the timeframe you have to work with. It may be more valuable to pose this concern, which is larger than a straightforward question, somewhere else like reddit or ycombinator, where the audience and format might be conducive to the concern. Perhaps there is even a rebol mailing list that might serve as a good conduit for feedback to transition and possibly organize a managing body around the content domains, and possibly larger concerns, like language evolution.
    – JustinC
    Jun 23, 2013 at 19:24
  • @JustinC I'd like to see the question gain a wider audience, for sure. But the answers below have already given me some ideas! More welcome of course...I'll ask people I know who participate in other communities and know their norms if they would mind asking there too. Jun 25, 2013 at 2:33

2 Answers 2

6
+100

You have this problem twice. Once for the website, and once for the code base for Rebol. You should use the same solution for both.

That is, the structure that you come up with for controlling what goes into the code base is the also structure for the web site. The actual people involved may be different. But if, as with Ruby, one person is in charge, that person needs to be in charge of both. If, as with Python, there is an official organization in charge, that organization needs to be in charge of both. If there is a disagreement between people handling the website and people releasing code, it needs to be obvious how to resolve that. (Even the nicest people have off days, assume there will be arguments.)

Next, consider carefully what you most fear. Do you fear people going off in different directions and doing unrelated things? Make contributing to the official site their easiest option. Do you fear winding up with an inconsistent site? Make sure that someone is in control and can enforce a consistent vision. Note that there is a tension between these goals, "all of the above" is not a possible answer. Figure out what you are scared of and try to address it as best as you can.

I know nothing of the Rebol community. However my guess from your comments is that at this point it is fairly small and fragmented with no central authority. Therefore I'd worry more about how to get people involved than on how to make people achieve some central vision. But that's a general bias that I would personally bring to anything.

More generic advice. If you're a small organization, keep it simple. Benevolent dictator is common for good reason. But in a situation like yours where you don't know who will step up you might consider Constitutional Monarchy instead. For inspiration, consider how Perl does the whole pumpking thing. Even though Larry Wall is not deeply involved in day to day development, for each release of Perl he appoints someone to be in charge. If there was a huge problem (hasn't happened yet that I know of), he could unappoint them and appoint someone else.

The founder of Rebol might be convinced to play this role. An example model might be, "As a final resort, I reserve the right to put someone else in charge at any point. I hope never to do that. Anyone who steps up and is not obviously objectionable gets whatever responsibility they want and seem to be doing. Once there is a sense who is actively doing stuff, that group should figure out a way to rotate responsibility on a regular basis."

As a final thought, I leave you with this. If you manage to get and keep the right people involved, it will work no matter how you organize it. If you get the wrong people involved, it will fall apart no matter how well you organize it. My impression is that "the right people" tend to be people who want to get stuff done, care about doing it well, don't have ego about doing it their way, and don't try to create fiefdoms. Good luck finding them and encouraging them to feel at home.

1
  • Good observations on the tie-in between the issues with the source and the issue with the sites. I totally agree that it's centrally about the people, not the structure. But as you observe, the community is (relatively) small at the moment, but has a long history...and there's a lot of stakeholders with varying agendas. It would be helpful if the creator was stepping in with more of a leadership role, but he's kind of moved on and said "here's the source, it's up to you now". We try in chat here to address the social issues, but it's a long road! Jun 22, 2013 at 19:13
4

Secret sharing might be useful to provide access to a secret (like a password) in a way that several people must agree to access it. This could help with the "Matz is hit by a bus" problem—a person in charge uses the secret on a day-to-day basis, while a group of people can together gain access should something happen to the leader. (Of course, if a sufficient number of them went rogue, they could still take over from the dictator, but... really?) As a wild idea... someone could implement secret sharing in Rebol (carefully—it needs to be secure, as the secret is being trusted to it) and then it could serve the dual role of being a backup for the secret and being one of the demo programs on rebol.org. Nice thing about doing it this way is that all Rebol coders can verify the system—it's in the language they know.

Some other thoughts: I think you might do well to think about how you're going to fund the domains and other public-facing infrastructure. It would seem to me that whoever is paying for infrastructure ultimately controls it, so that might be something to factor in. For example, if the creator is providing the domains, then it seems he ultimately has control over the existence of the sites. Perhaps that can be involved in the setup.

You might also find some interesting thoughts in this essay from Eric Raymond, particularly this part. He talks there about the different ways that open-source projects get their "owners," whether they be the original developer or a successor.

Some other communities you might take a look at for ideas:

Debian:

Debian is probably bigger than what you're thinking, but here's a couple quick links regarding their organizational structure: About Debian and Organization

Perl: @btilly mentioned Perl's organizational structure, and it turns out their domain seems to be under control of one guy (who isn't Larry Wall!): Whois; Website. Also, you could take a look at http://www.perl.org/community.html and http://www.perlfoundation.org. It feels (to a latecomer like me) like the Perl Foundation has succeed in bringing together a number of parts without destroying their differences. For example, PerlMonks appears to have been an independent site and has now been "assimilated by The Perl Foundation" according to its footer.

1
  • Your idea on Secret Sharing has gotten me thinking. I definitely wonder if this has been done successfully...it's also interesting to even think of building a Rebol based service to help others with this same problem. Thanks for the ideas, this helps! Jun 25, 2013 at 2:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.