Re: SCM

2019-07-29 Thread Австин Ким
Hi,
Thanks to everyone who contributed to this thread; it’s been hella revealing
and illuminating to read all the reasoning and technical considerations that
have driven the design choices and tool selections that have gone into the
OpenBSD Project, especially for someone new to the Project such as myself who
hasn’t had the benefit of experiencing the quarter century of context and the
biases that come with that.

In university courses we’ve been using Git primarily, but I cannot emphasize
enough that I am not a big fan of Git; I find it overly complicated, and it
would not be a good fit for the OpenBSD Project for myriad reasons.  However,
the more I use Mercurial, the more I love it.  I think there are distinct
advantages to a distributed source code management system (I prefer the term
‘source code management’ because to me terms such as ‘software configuration
management’ sound not only pretentious but utterly devoid of meaning) over a
centralized SCM system such as CVS or Subversion.  This article, albeit old and
outdated, does a good job summarizing how I feel about Mercurial vs. Git:

https://www.ibm.com/developerworks/aix/library/au-mercurial/

However, as much as I personally love Mercurial (and I really think OpenBSD
developers would honestly like it too for its simplicity compared to systems
like Git), everyone’s thoughtful responses have helped me to appreciate the
complexity of considerations (licensing, additional dependencies that would be
required in base, etc.) involved.  With regard to Subversion vs. CVS, I heard
that Subversion was once marketed as something like “CVS done right,” but to me
personally I don’t feel there is any way that CVS can be “done right,” so to me
Subversion does not represent all that much of an improvement over CVS.

In the end I believe the best tools for the job that both have acceptable
licenses and have the biggest buy-in among all OpenBSD developers should be the
ones used, and to the extent that design decisions continue to be made solely
based on technical considerations and not on dogma or ideology, the OpenBSD
developer community will continue to make the right decisions for the Project.

Thanks for all the insightful and enlightening feedback!
Austin

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



Re: SCM

2019-07-26 Thread Австин Ким
Hi, all,
Sorry, been hella busy rushing to finish final graduation projects for school
and had no idea so many people weighed in with so much awesome feedback!

> That said, OpenBSD has a cultural restriction of requiring people to
> inspect the patches before incorporating them. Adopting git would be a
> step away from that practice.
I was suggesting Mercurial (hg), not Git; I know Git would be problematic for
the OpenBSD Project in many ways.  Plus I find it unnecessarily complex.  And
also, regardless of which SCM was used, responsible area owners would obviously
be required to inspect patches before merging into the main branch, so I don't
see why adopting hg would necessarily be a step away from that practice.

> Some of us (including myself) actually prefer CVS over git for tasks
> where it is suffiecient because KISS.
I definitely appreciate the KISS argument, but I still feel that for new
developers Mercurial would present a lower learning curve than CVS; isn't that
also a fair measure of simplicity (conceptual simplicity)?

> it is hard, almost impossible, to avoid destroying part of the
> history during the conversion of the repository.
That argument makes sense; but on the flip side that argument also seems a
little fatalistic, basically resigning oneself to being stuck with CVS forever
because no one wants to invest the energy of activation required for migration.
I think back to how the FreeBSD Project moved heaven and earth to migrate from
CVS to SVN, a bold and technically challenging undertaking that impressed the
hell out of me personally; that was also not trivial, and I understand that the
FreeBSD Project has greater staffing and resources, but I honestly believe
OpenBSD developers could be up to the task of even a greater migration, e.g.,
from CVS to Mercurial (but only if >= 99% of the OpenBSD developer community
were all on board, i.e., a consensus of buy-in emerged from the community so
everyone would be all in so as not to engender hurt feelings or animosities).

> Almost all developers prefer working on actual quality and
> functionality of the system over spending time and effort on
> infrastructure around it, unless the latter is really
> important to make progress with the former.
I can't argue with that, and obviously code quality is infinitely more
important than what SCM you use, but I feel you run the risk of turning off
potential new developers coming out of colleges and universities who cut their
teeth on distributed SCM systems like hg and Git who might be taken aback at
why the Project is still stuck with CVS (and again, I am not advocating for
Git; though if it isn't obvious by now I really believe OpenBSD developers
would honestly like Mercurial; to me it just seems consistent with OpenBSD's
culture of cleanliness and simplicity).  I understand the flip-side argument,
that I'm sure some developers might be personally proud of having arcane CVS
knowledge borne out of slogging through for years with CVS, but to me that
seems more like an issue of personal pride than an indication that CVS is
objectively better than hg.

> However, it requires rewriting git from scratch because the reference
> implementation of git is not free software.  It comes infected with
> a viral license.
Isn't CVS also GPL-licensed?  Or did OpenBSD completely rewrite CVS from
scratch under a BSD license?  Mercurial is still GPL v2, which is at least
better than GPL v3?

Finally my biggest argument (besides making contributing to the Project more
inviting to new developers, especially recent CS/CE/EE graduates) would be that
the bold challenge of migrating the entire codebase from CVS to Mercurial would
present a once-in-a-lifetime opportunity to start over with a fresh, clean
slate, once and for all tackle any issues that plagued working with CVS, and
have the rare opportunity to reset and redefine new processes that capitalize
on a quarter century of OpenBSD developers' working on maintaining a codebase
that is second to none.  It would be a monumental, fresh, clean start, albeit
an immensely technically challenging one; but one I have no doubt OpenBSD
developers could surmount.

> Mercurial would require python in base and maybe someday it will require
> also Rust.
Wow, I have no counter-argument for that :/
Of all the arguments made for CVS over hg, for me this is the one sole argument
I don't have an adequate response to.

Thanks to everyone who shed light on this potentially fraught issue.  I really
appreciate eveyone who took the time to write thoughtful, insightful responses,
based on technical considerations as opposed to dogma.  I only wish the most
salient points could be distilled and presented on an About page for the
Project for future newbies like myself who are newly coming to OpenBSD without
the quarter century of past context and its concomitant biases and are just
initially struck by seeing a major contemporary project still using CVS.

Thanks so much again!
Austin

“If you want 

SCM

2019-07-22 Thread Австин Ким
Hi,

As someone completely new to OpenBSD the one immediate first impression that 
most peculiarly sticks out like a sore thumb to me is the Project’s use of CVS 
for source code management.  In the class I’m taking (the one for whose class 
project I just recently downloaded OpenBSD/macppc for the first time to install 
on IBM PowerPC 970/970MP-based Apple G5 hardware), we all use git for SCM which 
I think is typical at most universities nowadays (at least in the U. S.).  I am 
curious why the Project continues to use CVS and/or if developers have in the 
past considered migrating the codebase to a distributed SCM system like 
Mercurial which IMHO might make branching and merging easier on developers, 
especially more recent developers coming out of universities.  Is it because 
the Project prefers using a centralized versus distributed SCM system?  Or is 
it just because that’s just the way it has always been done and why change 
that?  And would migration to something like hg be a possibility in the future 
that might possibly lower the psychological barrier of entry for newer 
developers?  (And btw this is meant as a sincere question with no intention to 
start a contentious debate; really just asking out of curiosity because seeing 
CVS diffs in the mailing lists was what visually jumped out most prominently to 
me for the first time; I’m sure after spending more time with OpenBSD it could 
be something I could just get used to.)

Thanks for all the wonderful responses to my previous post which really helped 
me gain a better understanding of the Project!

All the best,
Austin

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



Re: OpenBSD Project

2019-07-21 Thread Австин Ким
> 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: freen...@gmail.com 
> > Cc: misc@openbsd.org 
> > 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



OpenBSD Project

2019-07-20 Thread Австин Ким
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