Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] EAPI usage
Date: Thu, 30 Aug 2012 12:31:23
Message-Id: CAGfcS_=P5PMV-h2Rr5NhiSnSEvNnM5Ho_NDDnXM4YJHPP9zJdw@mail.gmail.com
In Reply to: Re: [gentoo-dev] EAPI usage by Johannes Huber
1 On Thu, Aug 30, 2012 at 7:29 AM, Johannes Huber <johu@g.o> wrote:
2 >
3 > EAPI 0 is more readable than EAPI 4? No benefit for maintainer? No benefit for
4 > user who wants to read the ebuild? Realy?
5
6 Then why make it a policy?
7
8 If as you say there is a benefit to the maintainer, then you won't
9 have to hit them over a head for noncompliance. Just point out that
10 newer EAPIs make things easier, and they'll happily use the new EAPIs
11 if they agree. If they don't agree, who cares?
12
13 You don't need a policy to tell somebody to do something in their own
14 interest. The main reason for policy is to get people to do things
15 that are in the interests of others.
16
17 >> The downsides are several - you're taking code that works and fiddling
18 >> with it, perhaps creating code that doesn't work. You're forcing that
19 >> development to take place in the newest EAPI, which is also the
20 >> version which the everybody has the least experience with (likely less
21 >> documentation online as well).
22 >
23 > devmanual is fine.
24
25 I didn't say that the devmanual wasn't fine. I said that there is
26 less documentation available online for newer EAPIs. Documentation
27 doesn't consist ONLY of the devmanual. Code examples in the form of
28 all the other ebuilds in the tree count as well, as do mailing list
29 posts, forums, blogs, and any of a bazillion other historical records,
30 which being historical all use older EAPIs.
31
32 >
33 >> Developers have only a limited amount of time, and this will eat into
34 >> it. The result is likely to not be new shiny ebuilds that use the new
35 >> EAPIs, but rather old rusty ones that still use the old EAPI but also
36 >> which contain other bugs, since they don't get touched at all (since
37 >> touching them triggers the new policy).
38 >
39 > You dont need to touch the old ebuild, but if you are touching it for example
40 > a version bump, a bug fix etc you should be able to do the EAPI bump as long as
41 > you have done the ebuild quizzes ;)
42
43 The point is that maintainers will be less likely to do the version
44 bump or the bug fix in the first place, if they have to rewrite half
45 of the ebuild to do it.
46
47 If I have a bug and I can fix one line of an ebuild to fix it, then
48 I'm much more likely to find the time to do it than if I have to
49 rewrite half of it.
50
51 Also, not everybody maintaining packages has actually done the ebuild
52 quizzes. Sure, the person committing the changes has, but we're
53 trying to get non-developers to contribute as well. If somebody
54 submits a patch that works, do we want the dev to just commit it, or
55 do we want them to say, "sorry, you have to re-write half the ebuild
56 if you want me to accept that patch?" Keep in mind that if the dev
57 had the time to rewrite it themselves they would have likely already
58 fixed it themselves.
59
60 >
61 > Essential part of software development is refactoring to get the code in a
62 > modern state.
63
64 That only makes sense if you need to make substantial changes to
65 software, such that the investment in refactoring is going to pay off.
66 Few refactor code for its own sake. However, I am not saying that we
67 should make it a policy that maintainers NOT be allowed to use newer
68 EAPIs, but only that it should be up to individual discretion.
69
70 Keep in mind that we're not paying developers, and we always have more
71 work to be done than people to do the work. In order to make this
72 work we need to lower barriers to contribution. If a developer has an
73 hour to spend on Gentoo, would you rather see them fixing bugs that
74 actually impact people, or rewriting ebuilds to use newer EAPIs,
75 possibly creating more bugs that actually impact people. Keep in mind
76 that as volunteers devs get to pick what they work on, which means
77 that they're less motivated to spend that hour doing anything for
78 Gentoo if it needs to be spent on stuff they don't want to do.
79
80 I'm all for enforcing quality rules that actually have an impact on
81 end users - lots of shoddy work doesn't help anybody. However, having
82 rules that don't actually improve things for end users just results in
83 less work getting done, and in the end a poorer user experience.
84
85 Rich

Replies

Subject Author
Re: [gentoo-dev] EAPI usage Ian Stakenvicius <axs@g.o>