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 |