Gentoo Archives: gentoo-dev

From: Stuart Herbert <stuart@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Antwort: Re: [gentoo-dev] YaST will be GPL [Virus checked]
Date: Sun, 21 Mar 2004 19:16:47
Message-Id: 200403211921.53997.stuart@gentoo.org
In Reply to: Re: [gentoo-dev] Antwort: Re: [gentoo-dev] YaST will be GPL [Virus checked] by John Nilsson
1 On Saturday 20 March 2004 12:06, John Nilsson wrote:
2 > I never ment that Gentoo developers would do some non standard things to
3 > the packages. If the standard is not good enough to convince upstream
4 > developers to change, it is not good enough, period.
5
6 It'll never happen. XML isn't something that everyone accepts is always a
7 good thing. In many languages, handling XML content programmatically is a
8 RightRoyalPain(tm). And we currently lack adequate XML-aware diff and grep
9 tools - two things essential to making this work.
10
11 > The generated file would be a xml-file. This xml-file would be the
12 > package "normal" config file.
13
14 So how would the config tool know how to generate the XML file? A schema is
15 nowhere near enough.
16
17 > The whole point is that the Schema to validate the xml-file would be
18 > developed by the upstream package developers.
19
20 It would be interesting to find out what percentage of XML dialects have
21 either DTDs or schemas to allow validation. Maybe it's just the circles I
22 move in, but DTDs or schemas are things that I rarely see used.
23
24 It would also be interesting to see how many languages have support for
25 validating XML input through DTDs and schemas.
26
27 > This schema would also contain the documentation for the configuration
28 > file. From this Schema a man-page could be generated. Thus config tools
29 > and man-pages would have the same source of information.
30
31 A bit like Perl and their POD files?
32
33 > It might be true that I narrowly think XML. I have recently studied it
34 > for a solution to some work related projects.
35 > However I think it is a good solution in any case. One could pick any
36 > syntax imaginable, xml however has the edge of being ready for use
37 > today.
38
39 XML is a reasonable choice for marking up data such as configuration files.
40 Personally, I prefer to use it when you're feeding structured data from one
41 system to another - because of the ability to validate the input. I'd rather
42 use a relational database technology than XML in static files on disk,
43 because it's much more searchable and shareable. But that's just me.
44
45 > > Which developers? Gentoo developers, or the upstream developers?
46 >
47 > Upstream. Gentoo is a meta distribution as you say. I would call it "a
48 > proof of concept hack to demonstrate portage" if honest =)
49 > Don't get me wrong I run Gentoo as my only OS on all my home machines, I
50 > love it.
51 > However in another world I would have the portage tree only contain
52 > forks of the packages and then heavily develop the whole system for
53 > consistency. One can dream, right?
54
55 That's the power of Gentoo. It could be used to create a whole new
56 distribution based on the public Gentoo code.
57
58 How many packages are there in the Gentoo tree? Over six thousand. Let's say
59 you could convert each one in an average of one man day's effort. I think
60 that's optimistic, but it keeps it simple. Now, a man year is around 200
61 days of effort, allowing for weekends, holidays, illness, and overheads. So
62 that's 30 man years of effort to convert what we have today.
63
64 If you had RedHat's money, maybe it could be done. But Gentoo people are
65 volunteers. On average, volunteers on activities outside normal work and
66 family commitments manage a man month's worth of effort over 12 months of
67 elapsed time. So you're really looking at 360 years to get it done by
68 volunteers.
69
70 First you said ...
71
72 > > > their Schema must validate against. This uber Schema is formulated in a
73 > > > way such that a configuration editor, adhering to the standard, can
74 > > > edit any applications configuration in a secure and user friendly way
75 > > > without "plugins" or modification.
76
77 ... and then you said ...
78
79 > I'm not talking about a configuration editor.
80
81 Sorry, you've confused me there. I really did think you were talking about a
82 configuration editor.
83
84 > > I'm describing a
85 > "protocol" that a configuration editor can implement. The value would be
86 > that all data required to create a valid configuration file would come
87 > with the file not with the editor.
88
89 How are you going to get the authors of 6,000+ packages to agree to follow a
90 single XML schema?
91
92 > I can imagine someone engineer a clever XSLT technique to solve some
93 > Gentoo specific problems without actually touching the packages...
94
95 There's no such thing as clever XSLT - just XSLT that becomes an absolute
96 nightmare to maintain.
97
98 > As stated earlier this system depends on upstream developers to throw
99 > out their current system and implement this. Thus it has to be GOOD
100 > ENOUGH.
101
102 Easier said than done. Of course, code speaks louder than words ...
103
104 I can't think of a way in which you could prevent duplication of validation
105 logic except one - the validation logic would have to be written in some form
106 of scripting language such as JavaScript, and be part of the XML schema
107 itself. XML Schema itself is insufficient, and the moment your shared
108 library of code starts needing callbacks (think of the getopt function as an
109 example of what I mean) then you end up with duplicated logic.
110
111 > All opinions are important, I don't want to wast my time on a system no
112 > one would use =), how ever i could investigate the matter further and
113 > deeper if it seems promising.
114
115 It's not that I don't think no-one would use it. The aim of sorting out the
116 archane way that UNIX does its config files is an honourable one. Microsoft
117 clearly sees an XML-everywhere strategy as something it can use in the war it
118 thinks it has to fight against systems such as Gentoo. Maybe one day it
119 really will give Microsoft a competitive edge (in IP protected ways) that
120 will cause us real problems - who knows?
121
122 I'm just not convinced you understand the problem domain sufficiently - no, in
123 any real depth - at this time, and that you don't understand the barriers to
124 adoption.
125
126 > Now this isn't Gentoo specific, but it is a system worth considering in
127 > further "System configuration gui" research.
128 >
129 > -John
130
131 I think it would help if you had a clearly defined problem to direct your
132 research at, and a wide background study of how things are done today and the
133 myriad of reasons why.
134
135 Best regards,
136 Stu
137 --
138 Stuart Herbert stuart@g.o
139 Gentoo Developer http://www.gentoo.org/
140 Missed the php|cruise? http://dev.gentoo.org/~stuart/cruise-2004/
141
142 GnuGP key id# F9AFC57C available from http://pgp.mit.edu
143 Key fingerprint = 31FB 50D4 1F88 E227 F319 C549 0C2F 80BA F9AF C57C
144 --
145
146 --
147 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Antwort: Re: [gentoo-dev] YaST will be GPL [Virus checked] John Nilsson <john@×××××××.nu>