repeat send of another post. removed
I'm not going to make excuses as to why I haven't updated my blog in the last seven months. No one really wants to know anyhow. :-)
I'm back with a new focus on Java free software. I will be working with Java free software on the job and in other professional level projects, so there will be a lot more free software news coming from me now. I'll write about that at some other time.
Now moving right along...
The pond just got a whole lot bigger for the little folks...
I find Red Hat's leaving the consumer operating system market to concentrate on the enterprise market awesome news for the growth of Linux, but it's a bit sad. It marks the end of an era and the start of a new one for Linux. The most famous Linux distro is leaving its roots behind, maybe not in spirit, but at least in writing. :-)
The interesting thing is, this now leaves room in the consumer market for Mandrake to come back from bankruptcy. Now that the big fish has moved to other waters, suddenly there is a huge market gap to fill.
Of course, Mandrake now has even more competition than before, with Lindows and Xandros also positioning themselves in the consumer Linux market. Lindows goes for the computer newbie, while Xandros goes after the early adopter hardcore gamer that doesn't want to leave Windows games behind, doesn't know how to hack Linux either, they just want to move to this Linux thing because it's the cool new thing. I'm not sure which one has the higher market, but as Mandrake is the closer one to what Red Hat was, it may be the one to gain the top spot. I think Lindows and Xandros are positioning themselves in really narrow niche markets.
As for Fedora, I hope it turns out regular releases that compare in stability to the "old" RH Linux. I also hope it stays a volunteer-run project and doesn't go commercial. The world needs a showcase volunteer-run distro that doesn't require one to be a hard-core Linux hacker.
Disclaimer: I myself use Gentoo and Linux-From-Scratch for my development servers, so I'm not bashing hard-core distros. All I'm saying is that there are a lot more mainstream Linux users than hard-core Linux users, and I'd like Fedora to be there for the mainstream Linux users the way Red Hat's consumer Linux used to.
My best wishes to Red Hat and Fedora in the years ahead.
A little over a month has gone by since my last post. I got swamped with work from my job, and barely had any free time for hacking. Things have been back to normal for a week now.
Here's the summary:
Free Software in Puerto Rico Government
During this last month, the March 12-13 conference promoting broader free software use in the Government of Puerto Rico, was scaled way down in scope, because of lack of financial support. Now that this has passed into history, I am starting to plan a 'real' conference for some undetermined time in the future.
But first, I am exploring commercial sponsorship possibilities from the green-lizard and rouge-thing-on-the-head free-software companies, as well as the two-lettered computer hardware company and the three-lettered computer hardware company.
Mono and Gnome Hacking
I cleaned up some documentation in The Mono Handbook and began adding content to the introductions of the various ECMA standard .NET namespaces.
I am having a blast rewriting Same Gnome in Gtk# and Glade2. I didn't know Gnome2 programming could be so easy! :-) I am documenting my effort, to be included in The Mono Handbook as a case study of Gnome programming in Mono.
After I'm finished with Same Gnome, I'm converting GnomeCalc. :-p
Hacking the Linux kernel
My only solace during this last busy month was reading Understanding the Linux Kernel, Second Edition, during my lunch break and before bedtime. I also located a copy in good condition of Linux Core Kernel Commentary (aka LCKC) with the CD-ROM, which is now out of print. Finding this last book in good condition was a waste of time, because after only a week of use, the spine broke and the pages started coming unbound, which seems to be the fate of all LCKCs in existance. :-/
Good hardware is so cheap these days, I went and built a new spare PC, installed Debian GNU/Linux on it, plus the source of the last three releases of the 2.4 series kernel, some of Con Kolivas' patches and his contest benchmark. I grabbed the last three releases from the 2.5 series kernel as well, to keep track of the latest development. I also have installed LXR cross-references to all this source on my XBox Apache server.
It seems in my overenthusiasm, I misunderstood my invitation to the free software in government conference. I was asked to 'participate', and I assumed that meant that I was asked to speak. More details later.
Hacking Gates, Da Man
I suddenly decided some weekends ago that I needed a new file server, immediately. I didn't want to wait for another pay period to buy it, so it had to be really cheap. I would be the only one using it, so it didn't have to be blindingly fast or powerful. But it had to be adequate for NFS and SAMBA file sharing, and for learning Apache, MySQL, and PHP.
So I bought a used XBox, put in a solderless modchip, bought an 80 GB IDE hard disk, and installed Debian GNU/Linux 3.0 r0 with a modified 2.4.20 kernel on "Da Beast." I did not install X or sound drivers on it, and I've configured it to run headless; if / when I need to, I log in through SSH.
Cost of 733 MHz Pentium III, 64 MB RAM, 80 GB HD Linux file server? $308 US
Rise, Phoenix, from your ashes ...
Now that I have plenty of extra storage space on NFS, I can hack again on my old and long-neglected Sega Dreamcast and Broadband Adapter. :-)
I have a Sega Dreamcast with Broadband Adapter, which I bought in February 2001, to hack around with game programming on KOS. It was not getting a lot of play time lately, so I looked into other uses for it. Wonderfully, there are Dreamcast ports of eCos and RedBoot, Linux (here and here), and NetBSD. There are also two homebrew operating systems for Dreamcast: NewOS and KOS, which I already mentioned. NetBSD/Dreamcast and KOS are the most active at the moment.
I burned a CD-R with RedBoot, with which I interact through the Dreamcast's serial port. From RedBoot, I can load eCos, Linux, or NetBSD from NFS. I configured these to run without X and sound drivers. Once loaded, I interact with the OS through the serial port or through SSH.
Note: RedBoot, eCos, Linux, and NetBSD on Dreamcast can be configured to use the TV or VGA adapter output and a Dreamcast keyboard for the console, but I am not interested in that.
My Dreamcast is to be used in learning operating systems programming. Before, when I only had one computer available for hacking, I took things easy because I didn't want to cripple my one and only system. After all, I have other things I want to hack on besides operating systems.
With the Dreamcast, I can experiment and break things all over the place and not worry one bit. I am keeping two copies of each operating system's root filesystem on NFS (that's why the XBox NFS server has an 80 GB hard disk, although it is still overkill). If I break something, I can just reboot from the stable copy, figure out what I did wrong and fix it.
In order to continue to contribute to the Mono documentation effort, I am writing a few Gtk# mini-applications, and I am documenting the process through which I am constructing them. This documentation will appear as case studies in the GNOME.NET section of the Mono manual.
One of the mini-applications is, surprise, surprise, a Gtk# rewrite of GNOME Calculator. :-) The version of the code which will be used for Mono's documentation will not use GNOME Calculator's fixed precision math engine. But I will eventually break out GNOME Calculator's math engine into a shared library, and interface with it from the Gtk# GUI with P/Invoke.
Learning Apache, MySQL, and PHP
I bought two O'Reilly PHP books, Programming PHP and Web Database Applications with PHP and MySQL. I devoured these really fast and started to modify the code samples, scripting little test pages to my heart's content. PHP has been the easiest and most fun web server scripting language I've ever worked with. I can definitely see why there are so many PHP-based sites out there.
The purpose of this detour into PHP is two-fold: my free software projects are going to need a homepage of their own if they're going to contribute to free software world domination. I am learning PHP so I can maintain these homepages. The other purpose in learning PHP is that I am helping out a few free software organizations with the upkeep of their web sites, and some of them use PHP extensively.
In your article, you say the software is being "sold pre-installed on a web host." This description is a little vague. The correct answer to your plea for help and comments depends on the correct interpretation of how your software is being used.
1. Is the offending software used by customers of a shared or dedicated hosting provider? In that case, there is nothing you can do. This particular use falls under the "internal use" clause. As long as the binaries of the Moodle-based software are not being distributed, they are allowed to modify and host sites with this modified base all they want.
The GPL only covers distribution of source and binaries; it says absolutely nothing about the third-party use of modified code.
2. Is the offending software bundled with hardware? In that case, they are not required to provide "the original software and patches". What they are required to provide is the source for their modified version. If they are not doing so, then they are in breach of the GPL. I encourage you to contact them and inform them of their breach, and see where it leads. If they don't comply, there are many groups willing to help at least educate you about your legal options (they may not be able to help you mount a legal response, though, because of financial concerns).
Quick comment for all of us
I take this opportunity also to call for broader financial support from our community to the FSF, Linux International, EFF, and other similar organizations. Maybe I am preaching to the choir, but it may be worth repeating.
Many of us are working on free software on our free time, and do not have the financial resources necessary to defend our freedoms and property. These organizations are willing to help, because in the long run it helps defend their freedoms and property too. But these organizations need our financial support to even be able to operate their offices in any recognizable manner. Soon, maybe sooner than we think, one of them may not be able to operate continuosly any longer, to say nothing of coming to our defense.
If we all chip in just a little bit, we can accomplish the same as one single person giving a lot.
Over and out,
New Radio Free Oz :-D
Well, it seems only robocoder caught on to the joke in my diary entry last Thursday. Thanks, robo, for the comment. It was meant to be funny.
It goes like this: I was talking to someone on #kernelnewbies. The poor guy was suffering from analysis paralysis, what with so many guides and how-tos out there. And he was taking a survey to determine which guide was most recommended so he could read that one (which I think is such a waste of time; just pick one and read it, and if it doesn't help, pick out another one). He asked me which kernel guide I recommended reading just for starters. I mentioned Val's "LinuxChix Kernel Hacking Lessons".
He answered with "but that's for girls!" I thought his response was very funny, so I wrote a parody of it for my diary.
I've started writing a chapter on System.Windows.Forms for the Mono documentation project. With the upcoming holiday and things going so slow at work for the next two weeks, I should be able to post it for review by next Friday, if not sooner.
More GTK+ and GNOME hacking
I am also writing lots of little GTK+, GTKMM, and GTK# test programs, to continue my learning. And I've made progress unraveling GNOME calculator. I'm thinking of revamping the GUI, for my own enlightenment at least. I just think it looks so bland compared to all the newer GNOME software out there. It clearly hasn't been touched since GNOME 1.0.
In the two weeks since my last entry, I've been having lots of fun on my copious free time, reading up on X, GTK+, GTKMM, GTK#, and GNOME component-based programming. I've written a few example programs in each of these libraries, getting a feel for how native UNIX GUI software is written.
From my 5+ years of Java experience and the smattering of Delphi and C++ Builder I did in 1997, GTK+ and its Object Oriented ilk are nothing new; only the toolkit and API is different. The overall concept is identical. So it's not going to be difficult to learn GNOME programming. It's just going to take practice and time to learn all the GNOME specific gotchas and tricks.
I tried looking over the code of GNOME-calculator (I thought it would be easiest), and quickly got lost. So I still have a ways to go before I can start contributing substantially to the body of free software. But I'm getting there.
I built GNOME 2.1.3 using GARNOME, to help submit bug reports towards GNOME 2.2. I know that when something fails to build, it's a GARNOME bug. But when something fails to run or crashes because it couldn't find some configuration something or other, how do I know it's a GARNOME bug or a GNOME bug?
Maybe this knowledge too will come with more experience. In the meantime I will be discussing what I find on the GARNOME mailing list, to get the help I need to file the report in the right place.
Biting more than I can chew?
In a gutsy move, I've volunteered to help write documentation for Mono (and by proxy, for GTK#). Like I said above, GTK+ programming really isn't all that difficult. It is only different from what I already know, and that never ever killed anyone.
Cross dressing, or "How I nearly lost my virginity at a clam dig and loved it"
Many, many weeks before I started this diary, I began reading Linux kernel hacking guides. And by far, the most accessible guide and resource has been the "LinuxChix Kernel Hacking Lessons", written by Val Henson. Val and gals' kernel hacking guide is complemented by a mailing list, the cleverly named "grrls-only" mailing list.
This mailing list presented me with a conundrum: it is only meant for women, and to join I would have to write a statement of some sort certifying that I am female. Yet this grrls-only mailing list could well be a very valuable resource I could use to learn about kernel hacking. What's a guy to do?
I am obsessed with ways I could fake my way into that mailing list. For almost a month, I've been listening to Celine Dion, Barbra Streisand and Bette Midler at work, and watch chick flicks like "Driving Miss Daisy" and "Thelma and Louise", "Notting Hill", "Three Weddings and a Funeral", "Pride and Prejudice" (Hugh Grant is just so cute) on DVD nearly every night. I hold my tea cup just so, and sigh deeply as I read old tattered copies of Ann River Siddon's novels at lunch.
But I'm afraid that when push comes to shove and I sit to write that message showing I'm female, something would slip by and I'd say something utterly masculine.
I imagine Val teaching kernel secrets to her tribe of amazons, secrets only known to her because of the keener insight of the gentler sex. Perhaps they all have their own cleverly tuned scheduler, much more clever and efficient than Ingo's O(1). Perhaps their virtual memory runs rings around FreeBSD. And alas, maybe they have crafted their own working version of Hurd. God, how I want to be in the grrls-only list!
If I ever make the attempt and get in, I probably will not have the guts to pipe up and ask any questions or reply to any posts. I will probably lurk for years, absorbing all of Val's arcane arts. And when anybody asks me anything, I'll just giggle and hold my index finger to my cheek. But I'm scared I'll freak and type the wrong emoticon.
Maybe this tribe of amazon hackers is really benign and I have nothing to be afraid of if I'm caught, and I come out of this experience without losing body parts. On the other hand, I worry about something else: for like three weeks now, I wake up every morning humming show tunes. :p
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!