OpenBSD Project

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenBSD Project

Австин Ким
Hi,

I’m trying to choose a simply and permissively licensed operating system to use for a class group project but due to the project timelines don’t have time to try out every BSD-licensed OS out there and am trying to narrow down possibilities.  As far as I can tell OpenBSD, NetBSD, and FreeBSD seem comparable in terms of capabilities but Project leadership/governance is also an important consideration for me on principle.  My question is, how is the OpenBSD Project governance structured; is the OpenBSD Core Team “democratically” elected as in the FreeBSD Project, or is OpenBSD Core personally appointed only by the currently serving, existing members of the OpenBSD Core Team as in the NetBSD Project?  (I mean this question sincerely and was not able to find the answer in any of the online OpenBSD documentation.)

Thanks so much in advance!
Austin

“If you want to change the future, start living as if you’re already there.”  —Lynn Conway

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Ingo Schwarze
Hi,

Avstin Kim wrote:

> My question is, how is the OpenBSD Project governance structured;

There is no formal structure and no "governance".

In day to day business, code owners in parts of the system decide
what is done (for example, espie@ in pkg_add(1), myself in mandoc(1),
claudio@ in OpenBGPD, gilles@ in OpenSMTPd, jsing@ and beck@ in
LibreSSL, tj@ redgarding the website, and so on; in some areas,
more than one person owns the code, sometimes up to a handful).
In general, the people deciding ask themselves which is the best
technical solution, and if there is consensus among developers, it
is done.

In the rare cases of serious disagreement that cannot be resolved
consensually, or cannot be resolved without excessive delay or
discussion, deraadt@ reserves the right to make a final decision,
but that does not happen often.

There is no core team and certainly, there are never any elections.
There are no written rules whatsoever, and no introduction of any
written rules is planned for the future.  The OpenBSD foundation
has absolutely no say about any aspect of the OpenBSD project.
None of all this is documented anywhere because it doesn't matter
for users of the system.

If your choice of operating system depends on any kind of formalities
rather than on technical quality, OpenBSD is not the project you
are looking for.

Yours,
  Ingo

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

steve kolars
In reply to this post by Австин Ким

   
I have used OpenBSD, for years, in my computer security classes. I find it best suited for these classes. The governance has never been an issue. If you know what you are doing the OpenBSD community is a good one.Stephen KolarsSent via the Samsung Galaxy Note® 4, an AT&T 4G LTE smartphone

-------- Original message --------
From: Ingo Schwarze <[hidden email]>
Date: 7/20/19  21:44  (GMT-06:00)
To: [hidden email]
Cc: [hidden email]
Subject: Re: OpenBSD Project

Hi,Avstin Kim wrote:> My question is, how is the OpenBSD Project governance structured;There is no formal structure and no "governance".In day to day business, code owners in parts of the system decidewhat is done (for example, espie@ in pkg_add(1), myself in mandoc(1),claudio@ in OpenBGPD, gilles@ in OpenSMTPd, jsing@ and beck@ inLibreSSL, tj@ redgarding the website, and so on; in some areas,more than one person owns the code, sometimes up to a handful).In general, the people deciding ask themselves which is the besttechnical solution, and if there is consensus among developers, itis done.In the rare cases of serious disagreement that cannot be resolvedconsensually, or cannot be resolved without excessive delay ordiscussion, deraadt@ reserves the right to make a final decision,but that does not happen often.There is no core team and certainly, there are never any elections.There are no written rules whatsoever, and no introduction of anywritten rules is planned for the future.  The OpenBSD foundationhas absolutely no say about any aspect of the OpenBSD project.None of all this is documented anywhere because it doesn't matterfor users of the system.If your choice of operating system depends on any kind of formalitiesrather than on technical quality, OpenBSD is not the project youare looking for.Yours,  Ingo
Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

snikolov
On July 21, 2019 6:05:28 AM GMT+03:00, bkfuth <[hidden email]> wrote:

>
>    
>I have used OpenBSD, for years, in my computer security classes. I find
>it best suited for these classes. The governance has never been an
>issue. If you know what you are doing the OpenBSD community is a good
>one.Stephen KolarsSent via the Samsung Galaxy Note® 4, an AT&T 4G LTE
>smartphone
>
>-------- Original message --------
>From: Ingo Schwarze <[hidden email]>
>Date: 7/20/19  21:44  (GMT-06:00)
>To: [hidden email]
>Cc: [hidden email]
>Subject: Re: OpenBSD Project
>
>Hi,Avstin Kim wrote:> My question is, how is the OpenBSD Project
>governance structured;There is no formal structure and no
>"governance".In day to day business, code owners in parts of the system
>decidewhat is done (for example, espie@ in pkg_add(1), myself in
>mandoc(1),claudio@ in OpenBGPD, gilles@ in OpenSMTPd, jsing@ and beck@
>inLibreSSL, tj@ redgarding the website, and so on; in some areas,more
>than one person owns the code, sometimes up to a handful).In general,
>the people deciding ask themselves which is the besttechnical solution,
>and if there is consensus among developers, itis done.In the rare cases
>of serious disagreement that cannot be resolvedconsensually, or cannot
>be resolved without excessive delay ordiscussion, deraadt@ reserves the
>right to make a final decision,but that does not happen often.There is
>no core team and certainly, there are never any elections.There are no
>written rules whatsoever, and no introduction of anywritten rules is
>planned for the future.  The OpenBSD foundationhas absolutely no say
>about any aspect of the OpenBSD project.None of all this is documented
>anywhere because it doesn't matterfor users of the system.If your
>choice of operating system depends on any kind of formalitiesrather
>than on technical quality, OpenBSD is not the project youare looking
>for.Yours,  Ingo

I can only add that ,from all the mailing lists  I'm  subscribed ,  misc@openbsd is the most active  mailing list.

This means alot for me, and I suspect for anyone else using openBSD.

Best Regards,
Strahil Nikolov

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Австин Ким
In reply to this post by Австин Ким
> On July 21, 2019 6:05:28 AM GMT+03:00, bkfuth <[…]> wrote:
> > I have used OpenBSD, for years, in my computer security classes. I find
> > it best suited for these classes. The governance has never been an
> > issue. If you know what you are doing the OpenBSD community is a good
> > one.
> > Stephen Kolars
> > Sent via the Samsung Galaxy Note� 4, an AT&T 4G LTE smartphone
> >
> > -------- Original message --------
> > From: Ingo Schwarze <[…]>
> > Date: 7/20/19  21:44  (GMT-06:00)
> > To: [hidden email]
> > Cc: [hidden email]
> > Subject: Re: OpenBSD Project
> >
> > Hi,Avstin Kim wrote:> My question is, how is the OpenBSD Project
> > governance structured;There is no formal structure and no
> > "governance".In day to day business, code owners in parts of the system
> > decidewhat is done (for example, espie@ in pkg_add(1), myself in
> > mandoc(1),claudio@ in OpenBGPD, gilles@ in OpenSMTPd, jsing@ and beck@
> > inLibreSSL, tj@ redgarding the website, and so on; in some areas,more
> > than one person owns the code, sometimes up to a handful).In general,
> > the people deciding ask themselves which is the besttechnical solution,
> > and if there is consensus among developers, itis done.In the rare cases
> > of serious disagreement that cannot be resolvedconsensually, or cannot
> > be resolved without excessive delay ordiscussion, deraadt@ reserves the
> > right to make a final decision,but that does not happen often.There is
> > no core team and certainly, there are never any elections.There are no
> > written rules whatsoever, and no introduction of anywritten rules is
> > planned for the future.  The OpenBSD foundationhas absolutely no say
> > about any aspect of the OpenBSD project.None of all this is documented
> > anywhere because it doesn't matterfor users of the system.If your
> > choice of operating system depends on any kind of formalitiesrather
> > than on technical quality, OpenBSD is not the project youare looking
> > for.Yours,  Ingo
>
> I can only add that ,from all the mailing lists  I'm  subscribed ,  misc@openbsd is \
> the most active  mailing list.
>
> This means alot for me, and I suspect for anyone else using openBSD.
>
> Best Regards,
> Strahil Nikolov

To everyone who took the time to respond, your responses were outstanding; if only a short and sweet additional page could be added to the main OpenBSD Project WWW site (e.g., under “Project Team” or “Developers") that just succinctly summarizes exactly what you all said.  For “smaller” projects without formal governance I guess it all comes down to the people; I can see how if you have a dedicated core of really good, passionate developers formal by-laws and committees are superfluous, but then the question is how would that be sustainable over the long term other than just by manually and personally attracting and retaining the best on an ad hoc basis without a codified, structured process.  But it seems to be clearly working here.

Downloaded the macppc port of OpenBSD 6.5 to install on a couple IBM PowerPC 970/970MP-based Apple Power Mac G5 machines for a class project (I just need some decent, reliable, no-frills servers, but I wanted to try using something other than AMD64/x86-64-based machines for a change) with very low expectations (after trying to install the macppc port of a peer Noteworthy Excellent Tried-and-true BSD distribution which crashed immediately upon running ofwboot off the install ISO), but the installer Just Worked!  I don’t understand how this project is able to maintain a working legacy macppc port with so few developers.

All the best,
Austin

“If you want to change the future, start living as if you’re already there.”  —Lynn Conway

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Edgar Pettijohn III-2
> To everyone who took the time to respond, your responses were outstanding; if only a short and sweet additional page could be added to the main OpenBSD Project WWW site (e.g., under ???Project Team??? or ???Developers") that just succinctly summarizes exactly what you all said.  For ???smaller??? projects without formal governance I guess it all comes down to the people; I can see how if you have a dedicated core of really good, passionate developers formal by-laws and committees are superfluous, but then the question is how would that be sustainable over the long term other than just by manually and personally attracting and retaining the best on an ad hoc basis without a codified, structured process.  But it seems to be clearly working here.
>
> Downloaded the macppc port of OpenBSD 6.5 to install on a couple IBM PowerPC 970/970MP-based Apple Power Mac G5 machines for a class project (I just need some decent, reliable, no-frills servers, but I wanted to try using something other than AMD64/x86-64-based machines for a change) with very low expectations (after trying to install the macppc port of a peer Noteworthy Excellent Tried-and-true BSD distribution which crashed immediately upon running ofwboot off the install ISO), but the installer Just Worked!  I don???t understand how this project is able to maintain a working legacy macppc port with so few developers.

quality over quantity :)

>
> All the best,
> Austin
>
> ???If you want to change the future, start living as if you???re already there.???  ???Lynn Conway
>

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Ingo Schwarze
In reply to this post by Австин Ким
Hi Theo,

a user just asked a question on misc@ that could have been answered
by the following addition to the web site.

I'm not convinced that going into more detail makes sense,
precisely because we do not want bylaws.

OK?
  Ingo


Index: goals.html
===================================================================
RCS file: /cvs/www/goals.html,v
retrieving revision 1.92
diff -u -r1.92 goals.html
--- goals.html 1 Jun 2019 23:12:47 -0000 1.92
+++ goals.html 21 Jul 2019 16:16:20 -0000
@@ -62,6 +62,9 @@
 <p>
 <li>Be as politics-free as possible; solutions should be decided on the
     basis of technical merit.
+    To stay focussed on development, the OpenBSD project deliberately
+    refrains from having bylaws, elections, formal governance, a
+    "core" team, committees, sales and marketing, or anything similar.
 <p>
 <li>Focus on being developer-oriented in all senses, including holding
     developer-only events called <a href="hackathons.html">hackathons</a>.

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

steve kolars
In reply to this post by Австин Ким

   
Sent via the Samsung Galaxy Note® 4, an AT&T 4G LTE smartphone

-------- Original message --------
From: Австин Ким <[hidden email]>
Date: 7/21/19  10:09  (GMT-06:00)
To: [hidden email]
Subject: Re: OpenBSD Project

> On July 21, 2019 6:05:28 AM GMT+03:00, bkfuth <[…]> wrote:> > I have used OpenBSD, for years, in my computer security classes. I find> > it best suited for these classes. The governance has never been an> > issue. If you know what you are doing the OpenBSD community is a good> > one.> > Stephen Kolars> > Sent via the Samsung Galaxy Note� 4, an AT&T 4G LTE smartphone> > > > -------- Original message --------> > From: Ingo Schwarze <[…]>> > Date: 7/20/19  21:44  (GMT-06:00) > > To: [hidden email] > > Cc: [hidden email] > > Subject: Re: OpenBSD Project > > > > Hi,Avstin Kim wrote:> My question is, how is the OpenBSD Project> > governance structured;There is no formal structure and no> > "governance".In day to day business, code owners in parts of the system> > decidewhat is done (for example, espie@ in pkg_add(1), myself in> > mandoc(1),claudio@ in OpenBGPD, gilles@ in OpenSMTPd, jsing@ and beck@> > inLibreSSL, tj@ redgarding the website, and so on; in some areas,more> > than one person owns the code, sometimes up to a handful).In general,> > the people deciding ask themselves which is the besttechnical solution,> > and if there is consensus among developers, itis done.In the rare cases> > of serious disagreement that cannot be resolvedconsensually, or cannot> > be resolved without excessive delay ordiscussion, deraadt@ reserves the> > right to make a final decision,but that does not happen often.There is> > no core team and certainly, there are never any elections.There are no> > written rules whatsoever, and no introduction of anywritten rules is> > planned for the future.  The OpenBSD foundationhas absolutely no say> > about any aspect of the OpenBSD project.None of all this is documented> > anywhere because it doesn't matterfor users of the system.If your> > choice of operating system depends on any kind of formalitiesrather> > than on technical quality, OpenBSD is not the project youare looking> > for.Yours,  Ingo>> I can only add that ,from all the mailing lists  I'm  subscribed ,  misc@openbsd is \> the most active  mailing list.>> This means alot for me, and I suspect for anyone else using openBSD.>> Best Regards,> Strahil NikolovTo everyone who took the time to respond, your responses were outstanding; if only a short and sweet additional page could be added to the main OpenBSD Project WWW site (e.g., under “Project Team” or “Developers") that just succinctly summarizes exactly what you all said.  For “smaller” projects without formal governance I guess it all comes down to the people; I can see how if you have a dedicated core of really good, passionate developers formal by-laws and committees are superfluous, but then the question is how would that be sustainable over the long term other than just by manually and personally attracting and retaining the best on an ad hoc basis without a codified, structured process.  But it seems to be clearly working here.Downloaded the macppc port of OpenBSD 6.5 to install on a couple IBM PowerPC 970/970MP-based Apple Power Mac G5 machines for a class project (I just need some decent, reliable, no-frills servers, but I wanted to try using something other than AMD64/x86-64-based machines for a change) with very low expectations (after trying to install the macppc port of a peer Noteworthy Excellent Tried-and-true BSD distribution which crashed immediately upon running ofwboot off the install ISO), but the installer Just Worked!  I don’t understand how this project is able to maintain a working legacy macppc port with so few developers.All the best,Austin“If you want to change the future, start living as if you’re already there.”  —Lynn ConwayI really appreciate the macppc developers! In my lab I have a cluster of 5 g5s, 24 g4 laptops, 7 g4 towers, and 15 other ppc machines. They all run OpenBSD. Thanks to the macppc developers my students can benefit from their use. Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Theo de Raadt-2
In reply to this post by Австин Ким
I'd go with the approach of avoiding politics entirely and not even
describing the approach we use.

People who care about anything besides our results have make an
incorrect assessment of which kind of farm animal they are.

Perhaps the reason it has worked so long is because we don't have a
sentence like this, which some may consider contentious, and use as
reason to pick yet another infamous fight where they believe they know
better than a quarter decade old project?

It is pretty easy to see why people might misunderstand our approach
of just getting shit done.  When I could not pay for electricity
myself, even Kirk McKusick told me I stop trying and quit doing
OpenBSD.  Imagine that.  I won't go into trying to assess his
reasoning, I'm mentioning this to highlight the false pattern of
believing "democracy is a required component" in a world where people
forget the most dominant models in all industries are a mix of
fascism, monarchies, or well ... plutocracy.

And what OpenBSD is doing is industry, plain and simple.

So my gut feeling I think the additional sentence is a bad idea.

>Hi Theo,
>
>a user just asked a question on misc@ that could have been answered
>by the following addition to the web site.
>
>I'm not convinced that going into more detail makes sense,
>precisely because we do not want bylaws.
>
>OK?
>  Ingo
>
>
>Index: goals.html
>===================================================================
>RCS file: /cvs/www/goals.html,v
>retrieving revision 1.92
>diff -u -r1.92 goals.html
>--- goals.html 1 Jun 2019 23:12:47 -0000 1.92
>+++ goals.html 21 Jul 2019 16:16:20 -0000
>@@ -62,6 +62,9 @@
> <p>
> <li>Be as politics-free as possible; solutions should be decided on the
>     basis of technical merit.
>+    To stay focussed on development, the OpenBSD project deliberately
>+    refrains from having bylaws, elections, formal governance, a
>+    "core" team, committees, sales and marketing, or anything similar.
> <p>
> <li>Focus on being developer-oriented in all senses, including holding
>     developer-only events called <a href="hackathons.html">hackathons</a>.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Ibsen S Ripsbusker
On Sun, Jul 21, 2019, at 16:41, Theo de Raadt wrote:
> I'd go with the approach of avoiding politics entirely and not even
> describing the approach we use.

I find this approach to be consistent with OpenBSD's virtuous
ignorance of fads.

 > <li>Be as politics-free as possible; solutions should be decided on the
> >     basis of technical merit.

The comment about absence of politics is also inaccurate. OpenBSD has a
specially designed political system that works very well for the
project, just not one that anyone cares to explain in standard political
language.

What's more, claiming to be free of politics is sure to elicit
complaints about how everything is political.

Sometimes I shut down conversations about governance by sharing my
opinion that benevolent dictatorship is the best form of government and
and that I prefer software that is governed this way. But people who
like to talk about government and democracy seem to get angry when I do
this, so I don't do it very often.

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Frank Beuth
In reply to this post by Theo de Raadt-2
On Sun, Jul 21, 2019 at 10:37:40AM -0600, Theo de Raadt wrote:
>I'm mentioning this to highlight the false pattern of
>believing "democracy is a required component" in a world where people
>forget the most dominant models in all industries are a mix of
>fascism, monarchies, or well ... plutocracy.
>
>And what OpenBSD is doing is industry, plain and simple.

So you're saying OpenBSD is a... theocracy?

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Ingo Schwarze
In reply to this post by Ibsen S Ripsbusker
Hi Ibsen,

Ibsen S Ripsbusker wrote on Sun, Jul 21, 2019 at 05:51:21PM +0000:

> benevolent dictatorship

I'm aware you did not call OpenBSD a "benevolent dictatorship",
and i totally see how the term can be used both to shut down
or to incite controversy.

Yet, i heard the term used several times in the past in relation
to OpenBSD, and merely wanted to mention that i think is misses the
point.  Words of the "...cracy" field can be used for systems of
making, adjudicating, and executing laws, laws that limit or expand
what people can and cannot have or do, that directly impact people's
lives.

Nothing of the kind is at stake here or at the very most, the right
of using the name "OpenBSD".

OpenBSD cannot make any laws that bind me or cannot tell me what
to do or what not to do, not even in programming, so the question
what kind of a "...cracy" it is is already a moot question to ask.
I'm 100% free to walk away at any time if i'm unhappy with the
colour of the servers in Theo's basement and publish my software
elsewhere.  That isn't just a theoretical possibility, it's quite
easy in practice if needed; in fact, mandoc.bsd.lv is already up
and running, and so is bsd.plumbing and other similar places - not
because developers are unhappy with Theo providing free servers in
his basement and fostering a very fertile development community
around them, but simply because having your own site and name with
global visibility is not such a big deal in this day and age.  Also,
walking away does not necessarily even uproot you from a development
community - i doubt that people like bapt@ at FreeBSD or wiz@ at
NetBSD or stapelberg@ at Debian or Leah at Void greatly care whether
or not i contribute to OpenBSD this week.

So, yes, OpenBSD developers form a social group, but not in a way
that (formally or effectively) assigns rights or duties or opportunities
such that describing it as a "...cracy" would make much sense.

People walking away and doing their work elsewhere under a new name
happens all the time for very diverse reasons and often enough for
good reasons: pf(4), OpenSSH, LibreSSL, heck, OpenBSD itself, and
even NetBSD before that...  When it happens, the parent projects
sometimes fade into oblivion - consider pf(4), OpenSSH - and sometimes
live on - consider (so far) the parents of LibreSSL and of OpenBSD
itself as examples.

See, if you dislike the way Andorran politics is currently being
run, you cannot simply renounce citizenship and set up your own
state in some corner of the country.  So in some contexts, asking
about "...cracy" is indeed highly meaningful.  For a completely
free software project, no so much.

Even in a commercial enterprise, the question of governance is more
relevant than in OpenBSD - while in most countries, employees are
formally free to quit, for some employees, that may be a somewhat
theoretical option because some may have few practical chances to
make their living in some other way.  And besides, employers *do*
almost invariably tell employees what to work on and how, which
isn't the case here either.

Yours,
  Ingo

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Theo de Raadt-2
In reply to this post by Австин Ким
>Hi Ibsen,
>
>Ibsen S Ripsbusker wrote on Sun, Jul 21, 2019 at 05:51:21PM +0000:
>
>> benevolent dictatorship
>
>I'm aware you did not call OpenBSD a "benevolent dictatorship",
>and i totally see how the term can be used both to shut down
>or to incite controversy.
>
>Yet, i heard the term used several times in the past in relation
>to OpenBSD, and merely wanted to mention that i think is misses the
>point.  Words of the "...cracy" field can be used for systems of
>making, adjudicating, and executing laws, laws that limit or expand
>what people can and cannot have or do, that directly impact people's
>lives.
>
>Nothing of the kind is at stake here or at the very most, the right
>of using the name "OpenBSD".
>
>OpenBSD cannot make any laws that bind me or cannot tell me what
>to do or what not to do, not even in programming, so the question
>what kind of a "...cracy" it is is already a moot question to ask.
>I'm 100% free to walk away at any time if i'm unhappy with the
>colour of the servers in Theo's basement and publish my software
>elsewhere.  That isn't just a theoretical possibility, it's quite
>easy in practice if needed; in fact, mandoc.bsd.lv is already up
>and running, and so is bsd.plumbing and other similar places - not
>because developers are unhappy with Theo providing free servers in
>his basement and fostering a very fertile development community
>around them, but simply because having your own site and name with
>global visibility is not such a big deal in this day and age.  Also,
>walking away does not necessarily even uproot you from a development
>community - i doubt that people like bapt@ at FreeBSD or wiz@ at
>NetBSD or stapelberg@ at Debian or Leah at Void greatly care whether
>or not i contribute to OpenBSD this week.
>
>So, yes, OpenBSD developers form a social group, but not in a way
>that (formally or effectively) assigns rights or duties or opportunities
>such that describing it as a "...cracy" would make much sense.
>
>People walking away and doing their work elsewhere under a new name
>happens all the time for very diverse reasons and often enough for
>good reasons: pf(4), OpenSSH, LibreSSL, heck, OpenBSD itself, and
>even NetBSD before that...  When it happens, the parent projects
>sometimes fade into oblivion - consider pf(4), OpenSSH - and sometimes
>live on - consider (so far) the parents of LibreSSL and of OpenBSD
>itself as examples.
>
>See, if you dislike the way Andorran politics is currently being
>run, you cannot simply renounce citizenship and set up your own
>state in some corner of the country.  So in some contexts, asking
>about "...cracy" is indeed highly meaningful.  For a completely
>free software project, no so much.
>
>Even in a commercial enterprise, the question of governance is more
>relevant than in OpenBSD - while in most countries, employees are
>formally free to quit, for some employees, that may be a somewhat
>theoretical option because some may have few practical chances to
>make their living in some other way.  And besides, employers *do*
>almost invariably tell employees what to work on and how, which
>isn't the case here either.
>
>Yours,
>  Ingo
>
>

Nice rant.  Now get back to work.

:)

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Nathan Hartman
In reply to this post by Theo de Raadt-2
On Sun, Jul 21, 2019 at 12:40 PM Theo de Raadt <[hidden email]> wrote:

> Perhaps the reason it has worked so long is because we don't have a
> sentence like this, which some may consider contentious, and use as
> reason to pick yet another infamous fight where they believe they know
> better than a quarter decade old project?


Quarter century.
Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Edgar Pettijohn III-2
In OpenBSD fashion.

--- email.orig  Sun Jul 21 19:12:04 2019
+++ email.new   Sun Jul 21 19:12:38 2019
@@ -7,7 +7,7 @@
 Perhaps the reason it has worked so long is because we don't have a
 sentence like this, which some may consider contentious, and use as
 reason to pick yet another infamous fight where they believe they know
-better than a quarter decade old project?
+better than a quarter century old project?
 
 It is pretty easy to see why people might misunderstand our approach
 of just getting shit done.  When I could not pay for electricity


Thanks for all the hard work regardless of the orginizational methods used.

Edgar

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD Project

Ingo Schwarze
In reply to this post by Theo de Raadt-2
Hi Theo,

Theo de Raadt wrote on Sun, Jul 21, 2019 at 02:00:20PM -0600:

> Nice rant.  Now get back to work.  :)

As you wish, Your Grace.  =;c)
  Ingo


Log Message:
-----------
Slowly start implementing tagging support for man(7) pages, even
though it is obvious that this can never become as good as for
mdoc(7) pages.  As a first step, tag alphabetic arguments of .IP
macros, which are often used for lists of options and keywords.

Try "man -O tag=g as" to get the point.

Thanks to Leah Neukirchen for recently reminding me that exploring
how much can be done in this respect may be worthwhile: it is likely
to slightly improve usability while adding only small amounts of
relatively straightforward code.

Modified Files:
--------------
    mandoc:
        Makefile.depend
        man_term.c
        tag.c

Revision Data
-------------
Index: tag.c
===================================================================
RCS file: /home/cvs/mandoc/mandoc/tag.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -Ltag.c -Ltag.c -u -p -r1.23 -r1.24
--- tag.c
+++ tag.c
@@ -151,11 +151,11 @@ tag_put(const char *s, int prio, size_t
  s += 2;
 
  /*
- * Skip whitespace and whatever follows it,
+ * Skip whitespace and escapes and whatever follows,
  * and if there is any, downgrade the priority.
  */
 
- len = strcspn(s, " \t");
+ len = strcspn(s, " \t\\");
  if (len == 0)
  return;
 
Index: Makefile.depend
===================================================================
RCS file: /home/cvs/mandoc/mandoc/Makefile.depend,v
retrieving revision 1.44
retrieving revision 1.45
diff -LMakefile.depend -LMakefile.depend -u -p -r1.44 -r1.45
--- Makefile.depend
+++ Makefile.depend
@@ -37,7 +37,7 @@ main.o: main.c config.h mandoc_aux.h man
 man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h
 man_html.o: man_html.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h html.h main.h
 man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h
-man_term.o: man_term.c config.h mandoc_aux.h roff.h man.h out.h term.h main.h
+man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h tag.h main.h
 man_validate.o: man_validate.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h
 mandoc.o: mandoc.c config.h mandoc_aux.h mandoc.h roff.h libmandoc.h roff_int.h
 mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h
Index: man_term.c
===================================================================
RCS file: /home/cvs/mandoc/mandoc/man_term.c,v
retrieving revision 1.230
retrieving revision 1.231
diff -Lman_term.c -Lman_term.c -u -p -r1.230 -r1.231
--- man_term.c
+++ man_term.c
@@ -27,10 +27,12 @@
 #include <string.h>
 
 #include "mandoc_aux.h"
+#include "mandoc.h"
 #include "roff.h"
 #include "man.h"
 #include "out.h"
 #include "term.h"
+#include "tag.h"
 #include "main.h"
 
 #define MAXMARGINS  64 /* maximum number of indented scopes */
@@ -92,6 +94,8 @@ static void  post_SY(DECL_ARGS);
 static void  post_TP(DECL_ARGS);
 static void  post_UR(DECL_ARGS);
 
+static void  tag_man(struct termp *, struct roff_node *);
+
 static const struct man_term_act man_term_acts[MAN_MAX - MAN_TH] = {
  { NULL, NULL, 0 }, /* TH */
  { pre_SH, post_SH, 0 }, /* SH */
@@ -534,8 +538,10 @@ pre_IP(DECL_ARGS)
  case ROFFT_HEAD:
  p->tcol->offset = mt->offset;
  p->tcol->rmargin = mt->offset + len;
- if (n->child != NULL)
+ if (n->child != NULL) {
  print_man_node(p, mt, n->child, meta);
+ tag_man(p, n->child);
+ }
  return 0;
  case ROFFT_BODY:
  p->tcol->offset = mt->offset + len;
@@ -1147,4 +1153,61 @@ print_man_head(struct termp *p, const st
  term_vspace(p);
  }
  free(title);
+}
+
+/*
+ * Skip leading whitespace, dashes, backslashes, and font escapes,
+ * then create a tag if the first following byte is a letter.
+ * Priority is high unless whitespace is present.
+ */
+static void
+tag_man(struct termp *p, struct roff_node *n)
+{
+ const char *cp, *arg;
+ int prio, sz;
+
+ assert(n->type == ROFFT_TEXT);
+ cp = n->string;
+ prio = 1;
+ for (;;) {
+ switch (*cp) {
+ case ' ':
+ case '\t':
+ prio = INT_MAX;
+ /* FALLTHROUGH */
+ case '-':
+ cp++;
+ break;
+ case '\\':
+ cp++;
+ switch (mandoc_escape(&cp, &arg, &sz)) {
+ case ESCAPE_FONT:
+ case ESCAPE_FONTROMAN:
+ case ESCAPE_FONTITALIC:
+ case ESCAPE_FONTBOLD:
+ case ESCAPE_FONTPREV:
+ case ESCAPE_FONTBI:
+ break;
+ case ESCAPE_SPECIAL:
+ if (sz != 1)
+ return;
+ switch (*arg) {
+ case '&':
+ case '-':
+ case 'e':
+ break;
+ default:
+ return;
+ }
+ break;
+ default:
+ return;
+ }
+ break;
+ default:
+ if (isalpha((unsigned char)*cp))
+ tag_put(cp, prio, p->line);
+ return;
+ }
+ }
 }