Re: hwclock fork/merge

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> Karel> Why do you need to maintain your hwclock separately? I don't see a real
>> Karel> technical reason.
>> 
> Bela> The historic reason is that an old version of hwclock was captured into
> Bela> util-linux long ago, and not maintained in parallel with the separate
> Bela> hwclock project that _already existed_ at that time.
>
Karel> Are you really sure?
Karel>
Karel> The original clock(8) (Apr 1992) has been always distributed within
Karel> util-linux. Brayn's hwclock(8) (Sep 1996) -- based on clock(8) -- has
Karel> been already available in util-linux-2.7 (1997).

The history is probably not relevant to whether there should be two
hwclocks today, but let me clarify it a little:

'clock' by Charles Hedrick is almost as old as the Linux kernel.  It
was one of the original components of util-linux.  util-linux in those
days was much more of a distribution project than a development
project, and its components (well at least some of them) were
maintained by upstream maintainers.  Charles and other developers of
'clock' stopped maintaining it (I don't think they ever officially
quit; they just stopped), and as a result, it didn't move forward much
for several years.

I was one of the many people who were frustrated with a need for
changes to 'clock', so in 1996, I made my replacement, 'hwclock'.  The
code was heavily derived from 'clock' and backward compatible, but
also massively rewritten because the primary new feature is that it
did subsecond precision by waiting for and observing the moment of the
clock tick.  That required different structure.

I knew other people would appreciate the enhancements, so I made
'hwclock' available to the public, but I knew that most people
frustrated with 'clock' would never know it existed and keep
suffering.  There was no Sourceforge, Freshmeat, Google, personal web
servers, etc.  So I suggested to Nicolai, the maintainer of
util-linux, that he include it in the package, where people were
likely to notice it.  Nicolai was already bothered by the problem
reports about 'clock' that he couldn't do anything about (because
remember, his role was mainly to distribute), so he went a step
further and declared 'clock' obsoleted by 'hwclock' and stopped
distributing 'clock'.

So util-linux obviously became the main source of 'hwclock'.  However,
I was still the maintainer.  Users usually sent their requests and
suggestions directly to me because the documentation said I was the
maintainer, but sometimes they sent them to the util-linux mailing
list and Nicolai forwarded them to me.  I regularly sent new releases
to Nicolai, who packaged them into the next release.

That changed in 1999 when a new util-linux maintainer, Andries,
decided to stop taking new versions from me.  It would take a few
paragraphs to explain why, and this is long enough already, so I'll
just say that after that, I continued developing hwclock and many
people started getting it directly from me.

So: when Bela speaks of hwclock being "captured" into util-linux, that
could accurately describe the fork that happened in 1999.  But there
was no hostility involved in hwclock joining util-linux in the
beginning.  It was my idea.

The original question was what the technical reason is for
distributing a hypothetical single hwclock independently.  I don't
know what a "technical reason" is here, but I just happen to believe
that smaller engineering projects are more efficient and flexible than
bigger ones.  For the same reason I divide a program into modules, I
like to divide a development project into self-sufficient pieces.



-- 
Bryan Henderson                                   San Jose, California
--
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux