Older blog entries for sab39 (starting at number 4)

Finally got around to writing up the license terms that I think might be a solution to all these license incompatibility issues - it's like the GPL, except that if the software you are linking falls under any free software license, that part of the code is exempt from the "viral" clause of the GPL. The theory is that it's compatible with the GPL, and also compatible with other Free licenses (although not at the same time, of course). I've mailed copies to a couple of "community figures" to get some feedback before I post it in any public way, but when I do you guys will be the first to know.

gus3: (late answer to your diary of several days ago)... I take your point about the fact that Courtney Love's article doesn't mention programmers, journalists and comic artists who also don't always own their own work. But there is a difference, and it's to do with "branding". The "brand" on Windows is Microsoft, who are also the copyright holder. The "brand" on an article in the New York Times is the New York Times, who own the copyright. The closest thing to a "brand" on Linux and its related components is "the community" - and guess what, the community, between them, own the copyrights. But the "brand" on [/me searches CDNOW] the "Celebrity Skin" album is Hole, and they don't own the copyrights. The actual copyright holder is in very small print at the bottom - after all, if buyers were aware of what label they were buying, then labels could go out of fashion. The music industry is almost unique, because it's the only case where the copyright isn't owned by the "brand". The same thing does hold for comic strip artists too, though. What's the significance of this? Well, it's a kind of false advertising. When you buy a Hole album, the branding is set up to make you think that you are supporting Hole. But you're not, you're supporting (apparently) UNI/GEFFEN/DGC RECORDS. So that's the difference.

I realized that in my last diary entry I only gave examples of dumb comments from one side of the issue, so here's a horribly common one from the other side... "Qt is not free software". Okay, you're welcome to argue this, but you should be aware that both the Debian project and the FSF happen to think it is free software, so you'd better have something to back up your claim. And it'd be really strange to hear someone claiming that rms wasn't strict enough in his definition of free software...

All this talk about depression is interesting... I had a geek friend at university ("geek" referring simply to what everyone here is, pretty much by definition) who was depressed most of the time, and we would have long debates in which I'd try to logically argue him out of it. It wasn't until after we graduated and moved to opposite corners of the world that I realized... logical argument can never resolve depression, even for someone who holds logic in as high regard as geeks do. Personally, I'm cursed with irrational optimism - no matter how much things might suck now (for some value of "now"), I'm convinced that eventually everything will work out all right. That drives other people crazy - especially my wife!

Once in a while I get really disappointed by the "community". Like the Slashdot interview with rms where four of the ten highest moderated posts talked about "open source" or "oss". Anyone who's ever heard of rms would know just how dumb that was...

This time it's the continual KDE/Debian flamewar that's disappointing me. The number of times I hear the same old comments that obviously come from people who haven't even read the articles they're in response to, let alone done any basic research beyond that. Things like "Debian just want all software to be GPL'd" (yeah, that's why Debian include Apache, XFree, and hundreds of other non-GPL'd programs), or "Debian just hate Qt" (which is why both Qt1 and Qt2 are in debian already, and Qt2 is in main), or "Why can't they just put it in non-free" (DUH, because it's not non-free, it's GPL'd... but it requires software that's incompatible with the GPL, which means you can't distribute it at all). Then there are comments in reply to the freshmeat article claiming that Debian are just spreading FUD without defining exactly what KDE should do (everyone who has ever sided with Debian on this issue, including the maker of the $3000 offer, has specified from the start exactly what KDE should do to resolve the issue, including the exact phrase that needs to be added to their license). The advogato article saying that Qt should be treated as an Operating System added insult to injury.

I believe that it was jwz whose homepage contains the comment that "the most important thing you can learn about Linux is which 99% of the 'Community' to ignore". It just disappoints me how close that 99% figure is to being accurate...

Then again, sometimes the other 1% really come through. An article on Advogato actually provided a well-researched insight into the issue, and a novel solution that might actually help the situation to improve in the long term. But the clincher that lifted my mood was this news that KDE's KParts and GNOME's Bonobo might be merging - or at least that Top People from both sides are looking at the issue. License issues aside, that would be a huge win for users of both systems.

I've added support for SerialVersion checking to japitools, although it's not up on the site yet. I've also done some hacking towards the point where I can plug in gnu.bytecode - I've written wrapper classes around the Reflection API that can be seamlessly replaced by alternative implementations such as one based on gnu.bytecode, and I'm part way through modifying Japize to use these classes. Actually writing implementations using gnu.bytecode is a bigger task, though.

I might get to do some free software hacking and get paid for it - the site I'm working on for work really needs JDBC connection pooling with a feature not yet provided by the bitmechanic JDBC pool, so I might be able to add it and contribute the results. No promises until I hear back from my boss, and from the maintainer of the package.

Speaking of work, I'm pissed (to say the least) at a certain person who shall remain nameless, who left me completely in the lurch today by promising a client that I would code some stuff by before today, and then left the office for a week without even telling me that these new requirements existed. Nice. Got them done, but had to stay late to do it.

Last but not least, thanks to the kind people who certified me based (presumably) on my last diary entry. It's interesting how much of a sense of "validation" you get from being certified as an "apprentice" by complete strangers ;)

Finished hacking japicompat into a form that can remove duplicates; this slashed the number of reported errors between Kaffe and JDK1.1 from 429 to approx 130. Now all I have to do is resolve the evil issue of how to differentiate between compile-time constants (which are inline-able and so part of the public API) and public static final variables that aren't constant (and so aren't part of the public API). It's a rare case, but it really can't be handled by the architecture I have now.

The solution? Well, I have to rewrite everything, of course ;) The gnu.bytecode package (as of the latest CVS) does have the facility to make this distinction, and it can also load classes from zipfiles without any concerns over native code. So the next thing is to write some wrapper classes around gnu.bytecode and java.lang.reflect to make them interchangeable; then I can make it a runtime configuration option which one gets used

In other news, I'm impatiently waiting for debian to package Mozilla M16 because I'm lazy and don't want to figure out the interactions between my package-system-installed version and installing my own. That's the only disadvantage to having a package system that's so perfect - it becomes a real painful jolt to install software by hand :)

Courtney Love has joined the list of people I thoroughly agree with. I wonder why, considering the level of demand from both consumers and artists, it still seems to be impossible to set up a successful ethical record company...

I have a bunch of essays/whitepapers/rants I want to write to go with this one, and I can't decide which one to write first. If anyone actually reads these things, I'd be interested to hear input; quick summaries of two that I want to write are below...

Caveats of Capitalism. Capitalism is an economic model designed (in broad) to maximize value to consumers, and for the most part it succeeds. By design, and in practice in most cases, wherever something moves away from the optimum of giving value to consumers, it gets corrected by the free market. However, there are three things I can think of that fail to exhibit this behavior - to deal with them, I suspect some re-thinking of the underlying model is necessary.

The specific items are advertising, monopolies/cartels, and products with zero distribution cost. In my essay I would provide justification for why free-market capitalism fails to handle them adequately; I can't offer any solutions, but that's why I'd be writing the essay... to get input

Second prospective essay...

A model for a sustainable business economy based on Free Software - I propose that an extremely efficient way for Free Software developers to be able to be paid for free software is not the Red Hat/VA model, but something more like car dealerships - lots and lots and lots of small companies providing services in a limited geographic region.

The problem is that the market can only handle so many Red Hats and VAs - and an argument frequently used in favor of free software is that by definition, most programmers don't work for the Big Few in the industry. Are we condemned to live in a society where most hackers hack for their precious few hours of spare time, and must be prepared to dedicate all their non-work time to it if they wish to make any progress? I don't think so.

The scenario I envision is a small company located in, say, NorthEast Philadelphia (gee, is that where I live?) that offers consumers and small businesses support on their computers. This support would range from helping them set up a network, to troubleshooting, to fixing bugs in their software, to adding new features if they are needed.

These little companies hire half a dozen or so hackers each, who spend some of their time working on their own favorite pet projects, and the rest working on problems that clients specifically ask for. Hopefully for part of the time, the two coincide :) The great thing about this is that since hardly any of these companies would actually compete with each other due to being all over the country/world, so you'd still have collaborative development with no financial reasons for different companies to screw each other.

Well, I've almost written both essays in this diary entry :) But I have plenty more to say on both so let me know which one you want to see... that's for any hypothetical persons reading this, though.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!