Archive for September, 2005

debug info in XML, and DSD 2.0

Sunday, September 18th, 2005

I’ve been working in my spare time on the idea of converting dwarf debugging information into XML so that I can format it as XHTML using a stylesheet, and so I can check it using a Schema of some sort. When I started fiddling today I assumed that using a DTD was the way to go, that what one does with XML, no? Well after banging my head against the DTD format for a while, and looking for help on (our friend) the internet, I stumbled across a more general description of different ways to write XML schemas alternatives. Notice the lower case schema there. One of the several ways is called simply “XML Schema”, which is an alternative to DTD and DSD etc. Don’t get confused yet, you just started reading.

I had to kick myself in the head again tonight. Every time I get really stumped on trying to find good information on the internet, I end up realizing that everything I wanted was already there in Wikipedia. In the really confusing situations where I’m jumping in the deep end of the pool, all I really need to start me out is a two page summary of the state of the art. something to put all the technology jargon into context for me. But I still haven’t learned to look on Wikipedia first. *kick* *ouch*

God, lists look ugly in the hacked theme I’m using. I should fix them up one day. Anyway, here is good info on the different ways to formally describe your XML so that you can check it, and make sure it doesn’t have bugs.

From oldest and klunkiest to newest and hottest, the different languages are: 1) DTD 2) “XML Schema” 3) DSD 2.0

Note: Clayton Wheeler also pointed me at Relax NG, which is much more elegant.

Some thoughts on Licensing vs Copyright

Monday, September 5th, 2005

IANAL. This stands for: I Am Not A Lawyer. It doesn’t stand for “I (am) Anal”, although if you took a cross-section posts starting with that acronym you might be hard pressed to prove it either way. A lot of the people who like to argue about legal issues are very “detail oriented”.

Also, please note that I am not involved in the project, and have no insider knowledge at all.

I saw an announcement recently on the OSNews feed about (hereafter OOo) becoming LGPL only, (Sun is dropping SISSL license). I was curious about exactly how “open” OOo is, so I spent a few minutes reading the FAQ. Specifically this item. A while back I had to deal with some similar issues involving another large computer company, so I expected to see what I saw.

It’s really common sense from Sun’s point of view (or any other company that wants to protect their intellectual property). When you contribute code back to the project, you’re asked to sign a JCA (Joint Copyright Assignment). This allows Sun to maintain a copyright for all the code in the OOo project. This still leaves the owner with the copyright over his contribution, but frankly that doesn’t do them much good. The FAQ points out that this allows Sun to more effectively defend the copyright against infringement, but the FAQ doesn’t point out that this also allows Sun to stop licensing OOo under the LGPL. Sun could make it closed source, or license it only under some new license instead.

The previously released versions would still be modifiable under the rules of the LGPL (there is no provision for revoking the existing licenses), but new additions from Sun would not need to released under the LGPL.

Sun asks contributors to sign a JCA in order to have their contributions integrated into the main OOo branch of the source. But there is nothing that prevents anyone with enough time and energy to establish their own web site with a version of the OOo software that doesn’t require the Sun JCA to be signed.

Also, there is nothing to prevent Fred Flintstone from taking the gcc source (or any other GPL or LGPL source), starting a primary branch, and only accepting deltas after the contributor has assigned joint copyright to Fred Flintstone Inc. Of course, this wouldn’t do much good because so much of the gcc source code is NOT covered by a Fred Flintstone Inc copyright. So FFI wouldn’t be able to relicense the code in its entirety under a different license.

To be fair, I actually do believe that having one entity have a copyright for an entire work does make defending that work in court much easier. Sun has reason to be worried about such infractions, given our experience with Microsoft and Java. I believe that Sun has no intentions in the foreseeable future of making OOo closed source, or relicensing it, for the simple reason that it doesn’t make sense in the market. If we tried to, someone would just take a snapshot, make their own branch and start accepting deltas.

One thing this arrangement does enable that is more realistic is for Sun to take all or part of OOo and use it as part of a commercial product which is not open source. For example, the Star Office product, which Sun licenses for a modest fee.

The point of me writing all this was just that it might be something you hadn’t thought of before. Copyright is essentially a kind of intrinsic ownership of code, and unless you assign that right, you own all the code you write. Licensing doesn’t give away ownership. Licensing sets the rules by which you allow others to use your code.

Computer Science thought for the day:
“It is amazing what you can accomplish if you do not care who gets the credit.”
Harry S Truman

Technorati tags: