A Plan for YaST: Project Amaranth ================================= Why --- YaST as a platform has been stagnant for the past few years. Half of the original team has been busy with WebYaST and other web projects. Since relicensing to GPL in 2004 we got very few contributions - Benjiman's One Click Install being a notable exception - Oracle contacted us with their patches (based on a previous version of SLE), but we did not follow up. Much of the code has no tests, patching it is risky. Linux around evolves, a recent example being systemd, so YaST must keep up. If we don't provide a direction for YaST, it will rot and die. What ---- Amaranth is a project to open up YaST and realize its potential: Deprecate YCP, a custom YaST language, in favor of Ruby(*), a widespread one. Thus gain contributors from openSUSE and possibly other distro communities. *) see a followup mail about the language choice How --- Take the existing unfinished attempts yast2-ruby-bindings, yast2-libyui, ruby-yui, bind libstorage to ruby. - loudly state the intent to make them usable, including a timeline (see When) - provide good and up-to-date documentation - integrate with the Ruby ecosystem: -- document in form usual for Ruby developers (rdoc/yard) -- get found at rubygems (if only as a stub to point to the real package) - move from Subversion to Git (host at Gitorious, Github, or both) (see Why Git) - give good examples of usage, by converting a couple of production YaST modules to the new platform When ---- Have it all ready by the release of openSUSE 12.0 (November 2011) at the latest. Better, do it for an earlier milestone and have 12.0 feature independent contributions. Don't try hasty fixes for 11.4, now we still can't guarantee the API. Possibly do a backport. Who --- The long term goal is "hackers from around the Tux world". For now, it's myself, looking for you, the YaST hackers, to join, and for the team leads, project and product managers to give us time for it. Why Git ------- Git enables fearless hacking, power to the people, easy merging. Code Name --------- Amaranth is a purple (read .py.rb.pl) flower whose name means 'unwithering'. The tool is still branded YaST. Amaranth is the project to make the transition to world domination. -- Martin Vidner, YaST developer http://en.opensuse.org/User:Mvidner Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu