[Tinyos Core WG] Instructions for contributing code
Philip Levis
pal at cs.stanford.edu
Sat Dec 2 13:58:25 PST 2006
On Dec 1, 2006, at 12:00 AM, Prabal Dutta wrote:
>
>
> By management, do you mean a convention for managing the directory
> namespace? Since there's no connection between directory structure
> and namespace, I don't see the benefit of this organization from a
> management perspective. Who within, say "UCB", will help "manage" the
> UCB namespace? Will the caretakers do it? Will the first one who has
> write access?
It would be those who want to contribute under the UCB namespace. I
assume that if group A from UCB creates the UCB entry and later group
B from UCB wants to also use the UCB entry, then the two can work it
out. Worst case, the caretakers lend a hand to figure things out. But
I really think this is a rare event.
>
> I also question whether this would actually "keep related things
> close." The only relation that is kept close is that the authors all
> labor under the same organizational umbrella or are co-located
> geographically.
You're telling me that all of the code written for 1.x at Berkeley is
completely independent? DSN builds on SP; Flush uses MintRoute; Maté
uses MultihopLQI. It happens to be that some of these things are in
tos/, but that's mostly an artifact of the Berkeley-centric development.
>
>> > e.g., "a routing protocol." Levels of indirection considered
>> helpful.
>> >
>>
>> I understand that such a directory structure certainly isnt to make
>> searching and browsing easier.
>
> I would argue that the proposed structure neither makes management
> easier nor keeps related things close in a dimension that is relevant
> to the codebase. But, something organized around functionality, like
> Henri suggests, does make searching and browsing easier and more
> intuitive.
Yes. But the problem with tying classifications -- browsing and
searching -- to directory structure is that if you want to change
your taxonomy you have to change the directory structure (read:
management is hard). You want to tie the directory structure to
something that does not change much, if at all, then provide an index
which can be changed easily. Hence, the HTML index.
For example, should the code stability -- supported, experimental,
and unsupported -- be in the directory structure? I'd think that
*this* is even more important than routing vs. sensors, etc. But then
whenever code changes in status, you have to move whole directories
around.
The basic premise with all of this, which I don't think people have
quite understood yet, is that the goal is you browse and search using
the associated HTML (maintained by the caretakers) rather than
wandering around directories in a shell. Maybe this is not exactly
what hardcore developers want, but I'd love to hear a compelling
argument that
$ cd lib/routing
$ ls
MintRoute
BVR
CTP
NoGeo
GEM
Drain
is a better way to know what's available and what it can do than a
simple web page (which has, for example, brief descriptions).
Ultimately, I think these decisions are up to the caretakers; they're
the ones who have to do the work.
Phil
More information about the Tinyos-2.0wg
mailing list