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 |