Posted on 2008-09-26 09:00:00
The FreeBSD Operating System is partly original code and partly contributed code, like the GNU licensed GCC compiler toolchain, the BSD licensed BIND DNS nameserver and the timezone database.
Sometimes people assume maintainership of the contributed code, for example Doug Barton with the BIND DNS nameserver and I-said-the-fool with the timezone database. The only reason I assumed maintainership for it was because there were upcoming changes with regarding to Daylight Saving Time where I live, so there was a good reason to make sure these definitions were up to date. These days both misc/zoneinfo in the ports collection and share/zoneinfo the base system are updated very shortly after a new timezone update has been released.
Sometimes the maintainers or the people who originally imported the code disappear or let the code go stale (for whatever reason). In the last couple of weeks, with lots of free time, I have updated a couple of these contributed modules:
Updating a module isn't a simple let's patch the changes between version A and B, because often the code has been adapted to work with the FreeBSD Operating System or to have specific FreeBSD features, and it might be easier to get diffs from the original code against the FreeBSD version and find ways to merge these changes, or the functionality, into to the newer versions.
To give an example, the patch between the FreeBSD version of top(1) 3.5b12 and 3.8b1 was 13K lines, but the patch between the stock top(1) 3.5b12 and the FreeBSD top(1) 3.5b12 version was only 1500 lines and so was at the end also the patch between the stock top(1) 3.8b1 and the FreeBSD top(1) 3.8b1 version!| Share on Facebook | Share on Twitter