Thursday, 1 March 2007

Miscellany

Novell has generously granted permission to release Amber as open source. I need to choose a license and a place to host it. Currently I'm thinking GPL and Google Code. The GPL isn't too restrictive because applications talk to the query agent using a pipe, so a debugger frontend or whatever would not be required to be GPL.

I've been doing more wrestling with ATSUI to try to handle some tricky Hindi text. Hindi is basically left-to-right but sometimes a vowel that comes logically after a consonant is actually rendered to the left of the consonant. In this case ATSUI reorders the vowel visually which confuses our textrun infrastructure, because it depends on characters proceeding in a uniform direction. I'm dealing with this by fusing the reordered characters into a single atomic cluster. This is suboptimal, because you can't select part of the cluster or place the caret within the cluster, but it's probably good enough.

Beyond that, I've made considerable progress on the new textframe. It can now display many Web pages without crashing. I've also got textruns refactored so that all platform-specific code is isolated to gfxFont and gfxFontGroup implementations; most of the platform-specific code is code to use platform APIs to extract positioned glyph data, which is then stored in gfxTextRun (which is now the same code on all platforms). I've got Mac and Windows textrun setup implementations now too.

I'm going to be off work for a few days. Back at work on Monday, hopefully.

All four of us current and soon-to-be Gecko developers in Auckland met for lunch today. It was exciting!



12 comments:

  1. Great news about Amber becoming open source! I look forward to downloading it.

    ReplyDelete
  2. I can't wait to take a look at Amber when you release it!

    ReplyDelete
  3. Wonderful. A big thank you to Novell and naturally to you too, Robert.
    At first I was mightily confused why it would be so important to get Hindi correctly rendered for Amber. A programmer certainly will be flexible enough to cope with a few UI inconsistencies. Until I've read the title of your blog post... :)

    ReplyDelete
  4. That's a wonderful new.

    ReplyDelete
  5. Please ensure that it's GPL2+ not GPL2 only. Or put it under the standard Mozilla Trilicence.

    ReplyDelete
  6. Boo on GPL! GPL is a blight on open-source software.

    ReplyDelete
  7. Umm, how about BSD? I hear they release entire operating systems under that license, and no-one's died yet...
    Seriously, why use a license that stops a whole class of people using and contributing back?

    ReplyDelete
  8. Robert O'Callahan2 March 2007 23:50

    Because otherwise we enable people to use, modify, and not contribute back.
    Given that Novell's being generous, I think it's fair to require some quid pro quo.
    I'd think otherwise if this was code I expected people to want to use in a library, but I don't think that's going to happen.

    ReplyDelete
  9. GPL: You can use this code, but only if you give something back.
    BSD: You can use this code, even if you don't want to give anything back.
    I don't see anything wrong with either license - let him pick whichever one he prefers. He is the one who wrote it, after all.

    ReplyDelete
  10. ROC: I would argue that people will benefit from Amber in many ways, and that restricting the class of people who can use it via a GPL license will limit those benefits. Maybe code will be happier under the GPL, but those excluded people (both direct users, i.e. developers, and indirect users, i.e. all their customers) will not. I tend to value benefits to people over benefits to collections of characters.
    Matt: I wouldn't presume to tell someone what license they should use on their own work, unless, of course, they ask. And maybe I misunderstood ROC's post, but I read it as asking for feedback, which I offered.

    ReplyDelete
  11. Miguel de Icaza8 March 2007 03:04

    I would personally pick something even laxer, the MIT X11 license. As you guys know, I have been warming up to it over the last few years.
    It has the advantage that it maximizes cut-and-pastability of code, and although there is a risk someone can do something proprietary with it they still do it with the GPL, and unless you are willing to go to court there is no real difference.
    Miguel

    ReplyDelete
  12. Hi Robert,
    I read this article and have been searching for some way to contact you. I know that posting on your blog is a terrible way but it is my last resort!
    Can you please email me: reception@orionhealth.com? I have someone who wants to meet with you.
    Thanks,
    Kate

    ReplyDelete