On 07/08/2016 04:50 PM, Alec Warner wrote:
On Fri, Jul 8, 2016 at 1:21 PM, Philip Webb <[email protected]
<mailto:[email protected]>> wrote:
160708 William Hubbs wrote:
> On Fri, Jul 08, 2016 at 05:56:04PM +0300, Andrew Savchenko wrote:
>> IMO the criteria should be whether they work or not,
>> not whether upstream is more or less active.
>> If they're blockers on other work, by all means cull them.
>> However, if the biggest problem with them is
>> that they're using a few inodes in the repo, they should
probably stay.
> There is an overlay for packages that are removed from the
official tree
> -- https://github.com/gentoo/graveyard --
> and that is where old software should go,
> if it doesn't have an active maintainer.
A lot of this lengthy discussion is missing some basic points,
though a few people have mentioned them in passing.
As someone who has used Gentoo exclusively since 2003
& who raised the objections to removal of Xcdroast + Nethack,
let me try to get you all to focus on the real-life issues.
(1) The fact that a pkg has little or no upstream support
or that it doesn't have an active Gentoo maintainer
is not a reason for removing it from the regular tree.
+1
So basically what you are advocating for is:
"Having completely unmaintained packages in the tree is OK."
And honestly, I do not buy that premise.
I think what Phillip has outlined is that different use cases have
different prospective on use, stability and security. Take the ancient
serial (rs232-C) code based net-dialup/minicom for example. It has long
outlived it's usefulness for most users. Serial ports that have TCP/IP
laid on top of them use to form the backbone of phone line modem access.
"Upstream: None specified"
Yet it is still extraordinarily useful to embedded systems work, and
industrial uses, such as modbusTCP/ppp/rs232. To a "go hacker" it needs
to be cleaned out, but to an older or embedded hacker it is fundamental
to raw hardware access. Granted the "Maintainer: [email protected]
(Embedded Gentoo)" has stepped up. So, my point is there are (probably)
lots of other example codes in the 1500 unmaintained packages that have
not yet been scrutinized by the larger gentoo user community. I've got
over a dozen deprecated packages in my /usr/local/portage/ tree, as I
try to keep up with the tree cleaners on old useful codes.
"no maintainer" should not be part of the criteria for removal, at least
not for a year or so. WE need to document the methods and procedures for
proxy-maint, to a robust level, before such actions are warranted. Then
a campaign to recruit proxy maintainers for a while.
Right now the devManual, quizzes, repo structures(github, sunrise etc),
eapi, and many other aspects of gentoo are in a phase of rapid change.
It's going to take a while to get things stabilized and documented and
then a period of recruitment. I know, I for one have been on this path
and things are time consuming. Just look at the dev-wrangling over many
of these issues. That is the reason we have 1500 orphaned packages.
For now, I suggest we just label these packages as deficient,
no-maintainer, security, inactive-upstream and any other relevant
statuses. While some parse the proxy-maint correspondences to first
create FAQs and then a guide, with some basic examples. Then aggressive
removal would be viable and community supported.
This effort would also bode well for corporations to train and maintain
their linux sources with lots of folks participating in a full-spectrum
structure, that these discussions illuminate, should we want to attract
new and younger hackers to gentoo. A well defined proxy-maint program
would do more for gentoo recruiting (of both devs and users) than most
any thing else, imho. Teach a user how to create and maintain their own
code, and you'll have a user for life.
One basic reason some software is no longer being actively developed
is simply that they work perfectly well as they now are,
eg the file manager Krusader & the desktop manager Fluxbox :
both of these are very useful & have no drop-in replacements,
but very little development has occurred for several years.
The same is true of Xcdroast & Nethack, which have been threatened,
but which have been rescued after some small patches have been applied.
This is likely to be true of more + more pkgs, as time passes :
even changes in the kernel these days rarely affect desktop users.
!1.
No one is trying to remove flubox (which had a release in 2015 and had
activity in its git repo as recently as last week.)
Xcdroast for example, hasn't had a release in 8 years and I can't even
find its source tracker in sourceforge. These are the sorts of packages
that I think are not great to have in the tree and for Xcdroast, if I
were treecleaner lead i would probably advocate for working around the
security bug (dropped SUID) instead of removal. I do not necessarily
want to remove software that people are using.
That being said, I do not want unmaintained software in the tree either.
Funny, I used xcdroast to burn a couple of systemrescue images, just
yesterday, and I never used it before yesterday.
(2) There are 3 basic categories of Gentoo user :
(a) server-farm managers, (b) multi-user sysadmins, (c) single-users.
Each of these have different security concerns :
(a) need to be alert to the many threats from all over the Internet ;
(b) need (among other things) to prevent privilege escalation ;
(c) are largely immune to those types of threat,
though a few of the Internet variety can affect them.
great perspective. I'd add a forth category of user.
Embedded/close-network users of gentoo. For products, you do not need to
use the internet, until the very end of product development or product
testing.
Old codes really shine in this forth category, and gentoo is definitely
one of the champions in this stand-alone space. We are the only major
distro to support both systemd and legacy init. It's not clear how many
embedded projects will even use systemd. (think new arm boards that we
all are anticipating).
I appreciate the argument you are trying to make; but i do not think it
really drives Gentoo Security Policy (nor should it.)
Basically the current gentoo security policy is a "greedy algorithm"
that too aggressively makes too many mistakes (on what to remove) by
a limited scope of how linux is used in the wider world. Not every linux
system is a multi-user internet connected risk. Granted Rf interfaces
may change that, but most responsible designers have a way to 'turn
down' RF interfaces. Surely a hacker can identify the single trace that
is the antennae connection and ground it out, should the manufacture not
provide a software switch. That is a vendor choice of Rf turndown is a
problem in the new IoT family of products, but you can blame the NSA for
that sort of crap. Sot if a system is not connect to the outside world,
99% of the security risks disappear.
Please stop assuming the worst case environment that a code is used
for. If you want that, then create a tree within a tree, such as what
the good folks of the 'hardened' project do. Work to assist them to add
codes to the musl platform, rather that working the fringes of the
existing (rich) portage tree.
If you did that, then we could all (easily) routinely secure our
connections to the internet, and keep other projects alive that do not
need a 'security onion' [1] level of security. Perhaps the security team
needs to mimic the security onion project, but build everything on
hardened gentoo? That effort would do vastly more to secure gentoo
users, than fuzzing codes, one at time. We have Pentoo for penetration,
but where is the equivalent for defense?
[1] https://securityonion.net/
As my security manager used to say "security is not a race to the bottom."
Anecdotal limericks are mostly useless in real security. Real security,
starts at the overall schema. Where was the security project on the
recent malaise of check sums not matching for minimal iso? It appears to
many that the security team, needs to be "refocused" and more amenable
to valid suggestions and a new set of priorities, imho. ymmv.
The security objections raised against Xcdroast + Nethack
were both problems which would arise only on multi-user systems,
yet single-users were also to be deprived of access to them.
Perhaps part of the problem is that many Gentoo developers
also earn their livings as sysadmins with many users or many servers :
the simpler happier world of single-users escapes their attention.
Excellent point!
(3) Users generally don't want to be developers : they're too busy
or too old.
Asking them "Are you willing to maintain it yourself ?" is a silly
excuse ;
offering them the chance to dig around in a graveyard is even worse ;
even maintaining an overlay is a nuisance : I tried it with KDE Sunset.
Neither Xcdroast nor Nethack belong in a graveyard of any kind :
once the obscure security problems have been fixed,
they belong in the regular tree marked 'stable',
like many other pkgs whose development has been completed.
Any effort to separate packages from the tree, should *first* be meet
with a robust way to maintain and retrieve those codes. Destruction of a
rich legacy of codes, many simple and tightly focus, robs gentoo or
a very rich part of it's heritage, needlessly.
Users all do -- or should -- appreciate the unpaid work of the
developers,
but developers also need to realise that without non-developer users
Gentoo would very quickly die & their justified pride + satisfaction
die too.
I'm a bit confused by this argument.
1) It appears that no Gentoo developers want to maintain a software package.
(um, you missed the keyword that is missing, "currently")
2) The software package has no active upstream.
One fork fixes the no active upstream.
3) The software has no bugs.
4) We mask the software because it has bugs and no active maintianer,
for years.
The word "bugs" means many things to different folks. It's a
full-spectrum word that you use as an inaccurate 'monolithic' metric.
5) No one volunteers to proxy-maintain the software.
This is because of numerous, aforementioned changes, including but not
limited to the roll out of github, and the lack of sufficient mechanisms
for package retrieval, compared to what we had with the attic. If there
is a robust method via git(hub), then just document those methods,
because git is not an intuitively obvious collect of methodologies to
replace what we had. That and the aggressive tree cleansing is unfair to
the wider user communities, many of which only drop in occasionally.
But you advocate we keep such software in the tree, because users are
"too busy" or "too old" to maintain it themselves?
Not a consensus viewpoint but anecdotal, see above comments.
(4) I have 3 simple recommendations to fix the everyday problems.
(a) the justification for tree-cleaning should be explicitly
that a pkg either (i) won't compile, (ii) crashes when run
or (iii) has a serious security hole which affects all 3 types of
user.
(b) there needs to be a developer role 'General Maintainer',
who should be available to look at pkgs which have no regular
maintainer,
but which compile, run properly & are generally secure :
their job would be to step in, like Mr Savchenko -- thanks again -- ,
to fix small problems which would otherwise be neglected ;
less formally, all developers might see it as part of their role
to help out occasionally with such small problems.
Good points (+1). It takes time to grow up a proxy team. It takes time
to develop documents that are github eapi 6/7 centric and a
proxy-dev-guide. It takes time, so stop the aggressive tree pruning, in
the absence of a fully functional, well documented system like the attic
that is user friendly to learn and use.
In an ideal world, the tree would be full of properly maintained packages.
Yes we agree on this, but, the security and tree-cleaners are being too
aggressive as the proxy workflow is new and still not fully functional
atm. Once this is fixed, it going to take a while (6 months to a year).
How long did the github migration planning and execution take?
There are over 1500 packages in the tree in the 'maintainer-needed'
state[1].
So what? Dont use them (gentoo is about choice right?). Modify a
existing, common portage tool (eix?) to label your issues with these codes.
Even if we allocated 100 packages per developer, this "General
Maintainer" team would be 15 developers strong and one of the largest
projects in Gentoo. To compare the Treecleaner project is 7 people; the
Security project is 10 people.
How about a refocus on a security onion, gentoo centric, for the
security team. Many of us would appreciate that sort of security much
more than removal of old packages.
This is in fact part of the rationale of the Treecleaner project itself.
Ebuilds require maintenance (eclass updates, new EAPIs, etc) and someone
has to do this work (or we end up with 6 supports EAPIs in the tree.)
This is one reason why packages that are unmaintained are removed; we do
not have 15 spare humans to clean up the unmaintained packages, so we
remove them when it is feasible to do so.
Correct. What you are not fairly considering is the rapid changes and
your time allowances for the user community to adapt to all of these
changes. Are we nixos or gentoo? At least nixos has documentation [2].
[2] https://nixos.org/wiki/Development_Environments
On Gentoo's proxy project, there is scant documentation on a myriad of
core issues. The proxy-maint ML is still not functioning for user
questions and FAQ parsing.
(c) Gentoo's rules + policies need explicitly to reflect the fact
that there are 3 types of user, as described :
eg some pkgs might be marked as 'not safe for multi-user systems' ;
that would recognise real distinctions which are now being ignored.
HTH & thanks as always to all of you for making Gentoo work since 2003.
Likewise. I appreciated the devs and the gentoo distro, immensely. But,
we need a well documented pathway from start to finish on the
proxy-maint (regardless of what the details are) before such radical
pruning, and that includes robust archiving of what is necessary to
personally restore old packages. Use the old attic as your basis of
reasonable functionality.
James
[1] https://qa-reports.gentoo.org/output/maintainer-needed.html
--
========================,,============================================
SUPPORT ___________//___, Philip Webb
ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
TRANSIT `-O----------O---' purslowatchassdotutorontodotca