mozilla


11
Mar 10

Updating the MPL

Yesterday Mozilla announced that we will be updating the MPL, with the aim of making the license simpler, easier to use, and more robust. Mitchell’s post captures what we want to do in more depth; if you’re interested in the process, you should go read it and our full website at mpl.mozilla.org.

I have the privilege of being heavily involved in this project. I use the word ‘privilege’ because, since right around the time I went to law school, my home page has said something to the effect of ‘Luis’s goal is to help innovators do their thing with minimal interference from and maximum assistance from lawyers.’ ‘Helping innovators do their thing’ is exactly what this project is all about, so I’m excited to be part of the process.

Firefox Cupcake

Firefox Cupcake, by M i x y, used under CC-BY

We’re looking to involve the Mozilla community, of course, and we’re also looking to involve people who aren’t normally part of the Mozilla community, like licensing lawyers. So the process will involve a lot of very smart, experienced, and often opinionated people, some of whom will have been working with the license for a decade. I will get the luxury of being the project manager/cat-herder: working on this much of the day, encouraging involvement, organizing feedback, sifting it for gems, and collating all of it into the starting points we’ll use for further discussion and improvement. I’m just the organizer, though- Mitchell (as original author and tentative module owner) has the final say on the text, and the voice of the community will be the community themselves- we’re looking for broad involvement from anyone who has something valuable to say about the license or their experiences with it. If you’re interested in helping out in any way, check out our participate page for more information.

The day-to-day work that this huge community of volunteers does to produce software actively chosen by 100 million people is much more important than the legalese that binds them. But the legalese does matter- it communicates our values and helps structure how we work with each other. So improving this legalese is important for the community, and a great opportunity for me to help out, and I’m excited to get started on it.


29
Dec 09

software for massive document collaboration?

As part of my new role at work I’m going to be working on writing and editing some legal documents that I’d like to get both public and private feedback on.1

real text is edited in black and green (picture: Zenith Z-19 Terminal, by ajmexico, used under CC-BY)

real text is edited in black and green (picture: Zenith Z-19 Terminal, by ajmexico, used under CC-BY)

I’m trying to wrap my head around the available options, and none of them seem quite ideal. Some thoughts, first, on my requirements:

  • ease of use: I’m going to be collaborating with (among other people) lawyers, managers, etc.- i.e., non-technical people. So the solution should be easy to use, or at least have one face that is easy to use.
  • large-scale collaboration: this has to scale to input from lots of people (at least for commenting- editing will be a smaller group.)
  • maintaining the canonical version: somewhere other than my laptop should hold the canonical version of the text, including revision history.
  • commenting: it should be possible to open up a version of the document to the public, and to have them be able to comment on specific sections of the text- ‘I don’t like this paragraph’, ‘I suggest replacing A with B’, etc.
  • editing: I don’t need a massive multi-user text editor; we want feedback from many people but only a few people will be empowered to actually do edits. Ideally, though, I’d love to be able to review public comments, delete (or respond to) the bad ones, and integrate the good ones, all within the same tool. It should also be possible to do private revisions.
  • diffs/versioning: I need to be able to show the differences between two versions of a document; ideally with commentary on the reasons for the change, and with output that looks less like diff and more like an editor’s redline.

So what options do I have? These are the tools I’ve thought about so far:

  • a markup language + revision control: this would give me a lot of what I want, but it totally fails the ease of use test, and it isn’t clear that it handles the commenting role terribly well. Potentially great for canonical versions and diffs, though, especially if word-level diffs are an option and if I could figure out a way to produce good-looking diffs. With a distributed RCS this approach has the bonus of allowing for some work to exist in a non-canonical branch when changes are still being discussed/debated.
  • traditional word processors: traditional word processors can be great at diffs/versioning, and obviously they exist to edit, but they aren’t very good at scalable commenting and collaboration- things break down very quickly when you’re emailing around files, and expecting someone to merge them all together. odf-svn seems like it deals with some of these problems, at least conceptually, but development seems very stalled. I will also look at abicollab, but many of my collaborators will be on Mac- which AFAICT is not supported for newish versions of Abi. :/
  • stet/co-ment.net: Stet was great at handling mass commenting; its successor, co-ment.net, seems to be similarly good. But they don’t really allow you to do diffs between versions, so at best it could be only part of the solution.
  • wiki: no wiki that I know of can handle commenting like co-ment.net can. This is a shame, since they are great for showing revisions and (small-scale) collaborative editing. Also, doing ‘branches’ to propose changes that may get rejected is not possible in any wiki I’m aware of. Would love to be proven wrong on this one.
  • etherpad: etherpad is even slicker than wikis for showing revisions, and obviously superior for collaborative editing, but no facility for commenting on texts. Also lots of uncertainty about the maintainability/supportability of the code base.
  • bespin: this is so code-focused that it may not pass the ‘user friendly’ test, but hg integration is nice, and it may be sufficient for collaboration on plain text.
  • wave: this is almost exactly the kind of problem wave seems designed for, but it is such a constantly evolving product (not to mention a ‘run on someone else’s server’ problem) that I’m a little reluctant to use it. And of course since it is in semi-private beta it can’t do public commenting.

So far, I’m leaning towards gathering comments via a co-ment.net instance, using hg + markup (or even plain text?) to store the canonical version and generate revisions, and using etherpad, bespin, or a wiki for collaborative editing when necessary. But that still feels like a pretty fragile solution to me- lots of file transitions where things could go wrong, especially between hg and etherpad/wiki. I’d need to find a markup which can transparently/reliably go in and out of the editing tool from hg (or just admit defeat and use plain text), and the diffs from hg would almost certainly need some processing to make them look good.

So does anyone have suggestions on other tools, or specific suggestions on how to make this toolchain more robust and/or powerful?

  1. Sorry, no details quite yet on what the project is, and no prizes for guessing… []

14
Dec 09

hello planet mozilla!

Hello planet mozilla! As the class notice said, I am a long-time moz lurker, first-time poster, and I’m really excited to be joining mozilla.

factoids, possibly relevant:

  • My college next-door neighbor downloaded the first mozilla source release. He couldn’t get it to build. He was (still is) a genius, and I’m not, so if he couldn’t build it, I sure as heck wasn’t going to touch the code with a ten-foot pole. I decided to help out by doing bug triage instead. You can see my first full contribution here.
  • My first job title was ‘bugmaster’; I have also answered to ‘geek in residence.’
  • Two summers during college I was able to say ‘I am paid to play with legos’. The results are here and here.
  • IAAL, as of a couple of weeks ago. My strong, strong advice to you: don’t go to law school. If it is good for you (like it was to me), it can be great, but for the vast majority of people, it isn’t the right thing to do. Trust me on this.
  • My wife spent two years in a village of 800 people in Africa and then three years working for the farmer’s market in New York.
  • After growing up in Miami but spending time in Boston and Manhattan, my goal is to continue to move south. If Harvey will let me work remotely from Costa Rica, that will be just fine, but in the mean time Mountain View and San Francisco will be acceptable.
  • I did Linux desktop stuff for 8 years of my life; it left me with an appreciation of how difficult it is to design good GUIs and maintain large code bases, and with an appreciation of how rewarding it can be to do what you love with good people beside you.
  • I once spent eight weeks in a tent to go to a basketball game. It was totally worth it.
  • I had the horrible realization last week that even though I hate wearing suits I have basically become one.
me, in a suit, at the Supreme Court for oral arguments in Grokster

me, in a suit, at the Supreme Court for oral arguments in Grokster

what I’m doing with Moz

I’m working with Harvey and Julie on a variety of things, possibly including sexy things like the MPL, trademark, and legal community building, and certainly also mundane but important stuff like bandwidth contracts. I hope to blog about a lot of it, but of course lots of it is privileged/confidential, and even more of it is boring, so we’ll see how that goes :)

how to find me

I’m pretty easy to find via email. I’ll also probably lurk in mozilla IRC once I figure out the right places. Say hi; unlike most lawyers I don’t bite.


10
Dec 09

starting fresh with mozilla

After some bumps in the road which delayed my start by a week, I started today in the legal department at Mozilla. Last night I lost a little sleep worrying if this was the right thing for me, but after a day around the office (during an all-hands meeting, no less) I’m pretty much glowing. The projects I’ve already been charged with are interesting and important (more on those very soon, I expect); the other things going on are relevant (as someone said ‘we get to change the world every day, though some days more than others’); and the energy and enthusiasm are infectious. And of course it doesn’t hurt to be able to work with old friends.

Albino Alligator 2008 by Mila Zinkova, used under CC-BY-SA 3.0 license

Albino Alligator 2008 by Mila Zinkova, used under CC-BY-SA 3.0 license

Also, there are reports that my boss wrestled an albino alligator after dinner; reports were conflicting over whether he bested the beast with his bare hands or if he merely threatened to subpoena it. So yeah… things are interesting.

Weird moment of the day: get introduced at a meeting. Guy across table: ‘wait, are you the Luis Villa?’ me: ‘probably?’ Meeting then starts immediately. Turns out a sure-fire way to make a meeting seem very long is to leave a statement like that unexplained and hanging over your head the whole meeting… :) Led to a great conversation later, though, as did basically everything else all day.


23
Jun 09

10th bugiversary

Some part of me will always be a QA guy, so it is nice to note that today is the tenth anniversary of my first formal bug filing (and first formal participation in Mozilla, I believe): mozilla bugzilla bug 8749, nested <DL> tags don’t display properly. Happy bugday to me, happy bugday to me… :)


This work by Luis Villa is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States.