[Mageia-dev] The shiny new Control Center
Steven Tucker
tuxta2 at gmail.com
Sun Sep 30 13:07:15 CEST 2012
On 30/09/12 17:03, nicolas.lecureuil at free.fr wrote:
>> Hi everyone,
>>
>> I have been doing a little work on the proposed control center - mcc2
>>
>> https://wiki.mageia.org/en/Feature:UiAbstraction4mcc
>>
>> and would like to put a couple of questions forward to find some direction.
> i don't see the point of this rewrite. This have not been discussed a lot but i think that
> this is a lack of time. For me the prior thing to do would be to write a interactive::qt for mcc using perl-qt4 or perl-kde4
Okay, so I see the argument of prioritizing and putting your resources
towards the highest valued projects, however, the fact is that if I was
not putting time into this, I would be putting time into my academic
projects, not another Mageia project.
Also, if it was not a Mageia Control Center, I would be writing the
Debian Control Center or the Fedora Control Center or the generic
control center that any distro can use if they find it useful, but I
would be most happy with Mageia, because the distro and the community rock.
Angelo and Matteo have put time into packaging (and now bug fixing)
libyui, but that is something that should be looked at regardless.
libyui is already in the other major distros, and is useful for writing
other programs.
So the reality is, there is no waste of resources.
> I think that if you want to write it in an other language this is more because you have not saw that all our code is linked
> so you will double the code base, the code to maintain, the possible bugs, etc etc.
If it was my language of choice I would be writing it in C++. It was
100% due to discussions on the list and in IRC that led to writing it in
Perl. As noted, I have previously never written any Perl, and so it
would not have been my first or even second choice, I did it purely
because of the feedback I received from the Mageia community.
When talking about other languages, I am not referring to the main
program, but only optional (not core) modules.
>> 1/ What should we call it ??
>>
>> I have been using mcc2 as a working name, however I'm not
>> convinced this is the right approach. I will soon be uploading the code
>> (been using my own svn repo up till now), and it would be good to start
>> with the name it will stick with. Should the name relate to Mageia?, or
>> should it be more generic?
>>
> you will upload it where ? you can use a github repo i think to make it public.
Currently I am using a university server with svn and Redmine, and I am
completely happy with it. I was going to move it to the mageia repo so
that people could see the program as it progresses, and perhaps even
contribute if they feel motivated to do so. If anyone is interested they
can let me know and I'll create them an account, Angelo and Matteo
already have full access.
>> 2/ What languages should be available for writing modules? (Perl, C++,
>> python and Ruby are possibilities)
>>
>> So far mcc2 has been written in Perl (even though I had never
>> written a line of Perl prior to starting this) so as to make porting
>> existing modules a matter of just replacing the Ui calls, but I do like
>> the idea of allowing the modules to be written in more than 1 language
>> to encourage more contributors who may be turned off by having to learn
>> another language.
>> Sticking with Perl will make mcc2 core easier, so I may do that
>> initially regardless. What do you all think?? Is sticking with 1
>> language preferred even if it means less contributors, or is the goal to
>> attract as many module developers as possible?
> yes but our libraries are in perl too don't forget this ( libDrakX ). In general i am not a big fan of
> mixing languages.
Okay, so +1 for Perl only.
>> 3/ What should the license be?
>> I would be happy to make it GPL V3, but is there any argument
>> for something different ?
> As mcc is in gplv2+ i think you have to stick with this licence ( not 100% sure )
Well, the core is a full rewrite, so potentially it could be licensed
any way I choose. The modules however are planned to reuse code to save
time and so they would have to respect the existing licenses.
When asking about licensing, I am referring to the core, not modules.
>> Just to give you an idea of where my code is at ......
>> It is still in early stages, with I would guess about 400 - 500 lines of
>> code.
>> It works across ncurses, gtk and qt with a consistent interface, however
>> there seems to be a bug in the libyui-qt libriaries which Angelo and
>> Matteo will be looking into (Big thank you to those guys for packaging
>> the libyui libraries and helping out when I have questions).
> libyui has been choosen w/o real discussions, i don't want you to loose you time if
> at final we don't choose it.
There were discussions both on mailing list and IRC, a proposal was
written and accepted. I'm not sure what extra discussion is required?
One of the biggest critisims the first time this was discussed, was that
such a rewrite has been suggested many times in the past, but the amount
of discussion out weighed the amount of code. Now that I have actually
written some code there is a call for more discussion.
Don't worry about me loosing time, if it does not become a Mageia
project it will become my own private project, and if any distro sees
potential I will work with them, other wise I will just do it for myself.
>> I have little time to work on this for the next 6 weeks, but I hope to
>> have the core system complete, or near to complete when Santa visits,
>> though porting (and adding new) modules will be the bigger task.
> better work would be to fix existing one and add new interactive::qt ( or qt4 ).
> And seeing the != between qt4 and qt5 the port to qt5 will be a 'piece of cake'.
>
I disagree entirely. The existing mcc makes ncurses a second rate
citizen. The main reason I started this project was that when I was
putting a cluster together I realised with a couple of extra modules, it
would be trivial to do it all in mcc. When I actually had a look at the
ncurses version it was incomplete, not all modules are shared, and the
interface was not consistent. The work that would be required to "fix
the existing one" amounts to writing an abstraction layer and then
rewriting mcc, using libyui elimated the first part (which is also the
largest part). I also looked at writing a module anyway, and found docs
and tutorials lacking.
There are a number of reasons why libyui is the right choice, even
though we may have to extend it ourselves, but I have already had this
discussion so don't want to lay it all out here again. Please see the
proposal and mail archives.
One last but very important point. This is very much in its infancy!
While I hope it will go all the way, the reality is that projects
sometimes fail. I will work to prevent that, but some times life gets in
the way. My point is, I don't want to waste time on endless discussions
if it was never going to really make it anyway. My plan is to keep
writing small snippets of code when I get the chance, and once semester
is finished, have more of a go and see where it leads. The time used for
this email for instance, could have been spent working on the module
launching section, or helping Angelo with the window title bug. If
putting it into the Mageia repo is going to be a big deal, I'd rather
just keep working in silence.
Regards
Tuxta
More information about the Mageia-dev
mailing list