Slashdot Mirror


OpenCM Alpha6 Released

Jonathan S. Shapiro writes: "The new OpenCM Configuration Management system has just released it's first external alpha (0.1.0alpha6) over at opencm.org -- brought to you by the same folks who are working on the EROS operating system. Being a 0.1 alpha release, it shouldn't be used for prime time development yet, but it's definitely ready for a first look. We've been using it internally for OpenCM development for a while, and we have officially moved EROS development over. It looks like most of what needs to be done toward a first release is cosmetic at this point. Alpha6 has been tested on RedHat 7.3. Porting and cleanup are underway for solaris and (soon) *BSD. People seem to be excited about this -- especially the OpenBSD folks. While you are over at the web site, have a look at the two papers on OpenCM from this year's USENIX and USENIX Security conference."

39 comments

  1. cackbusters! by pwpbot · · Score: -1

    If theres somethin strange and you cant get woodWho ya gonna call goatsebusters goatsecxIf its assholes wide an it wont look goodWho ya gonna call goatsebusters goatsecxI aint afraid a no goatseI aint afraid a no goatseIf youre seein Rob sucking on some headWho can you call goatsebusters goatsecxAn anus stretched man sleepin in your bedOh who ya gonna call goatsebusters goatsecxI aint afraid a no goatseI aint afraid a no goatseWho ya gonna call goatsebusters goatsecxIf youre all alone playing with your boneJust call goatsebusters goatsecxI aint afraid a no goatseI hear it likes the cockI aint afraid a no goatseWho you gonna call goatsebusters goatsecxMmif youve had a doseOf a freaky goatse anusYou better call goatsebusters goatsecx Fistin makes me feel goodI aint afraid a no goatsesDont get caught alone oh nogoatsebusterWhen he cums on your floorUnless youve just got some moreI think you better call goatsebusters goatsecx Ooh who you gonna call goatsebusters goatsecxWho you gonna call goatsebusters goatsecxAh I think you better call goatsebusters goatsecxI cant hear yougoatsebusters goatsecxWho you gonna call goatsebusters goatsecxLouder goatsebusters goatsecx Who you gonna call goatsebusters goatsecxWho you can call goatsebusters goatsecxtill fade

    1. Re:cackbusters! by Linus+Turdballs · · Score: -1

      Bwahahaha, if only that were formatted better so I could read it. Might be a contender in the Troll music awards... where the TROLLING POLKA is winning!!!!!

      --

      -- Linus Torvalds

  2. I like Slime by Anonymous Coward · · Score: 0

    Although the newer systems are pretty nice too...

  3. Polka!!! Or J^Raxis will kill me! by Linus+Turdballs · · Score: -1

    Everyone vote for the TROLLING POLKA or I'll poke your bloody eyes out and teabag your children with my smelly nuts!! And if you don't have any children, I'll bloody well teabag you!!! You're gonna get a teabaggin,' bitch!!

    THE TROLL POLKA (ARSCHFICKEN MIT ZIEGEN) By Serial Troller, 2002-06-25 Is das nicht ein early post? Ja! Das ist mein early post! Is das nicht ein Goatse ghost? Ja! Das ist mein Goatse ghost! Early post, Goatse ghost, Oh, du schne, Oh, du schne, Oh, du schne, Slashdot sucks! Is das post at minus one? Ja! Das ist at minus one! Is das trolling so much fun? Ja! Das trolling is so fun! Minus one, trolling fun, Early post, Goatse ghost, Oh, du schne, Oh, du schne, Oh, du schne, Slashdot sucks! Is das nicht ein big crapflood? Ja! Das ist mein big crapflood! Is it worthless Linux FUD? Ja! Das ist mein Linux FUD! Big crapflood, Linux FUD, Minus one, trolling fun, Early post, Goatse ghost, Oh, du schne, Oh, du schne, Oh, du schne, Slashdot sucks! Is das nicht der CowBoiKneel? Ja! Das ist der CowBoiKneel! Is dis nicht his manchode meal? Ja! Das ist his manchode meal! CowBoiKneel, manchode meal, Big crapflood, Linux FUD, Minus one, trolling fun, Early post, Goatse ghost, Oh, du schne, Oh, du schne, Oh, du schne, Slashdot sucks! Is das nicht ein WIPO Troll? Ja! Das ist der WIPO Troll! Is das nicht ein Goatse hole? Ja! Das ist der Goatse hole! WIPO Troll, Goatse hole, CowBoiKneel, manchode meal, Big crapflood, Linux FUD, Minus one, trolling fun, Early post, Goatse ghost, Oh, du schne, Oh, du schne, Oh, du schne, Slashdot sucks! Is das nicht Jon Katz slave boys? Ja! Das ist Jon Katz slave boys! Und are they not Tacos sex toys? Ja! They are Tacos sex toys! Katz slave boys, Robs sex toys, WIPO Troll, Goatse hole, CowBoiKneel, manchode meal, Big crapflood, Linux FUD, Minus one, trolling fun, Early post, Goatse ghost, Oh, du schne, Oh, du schne, Oh, du schne, Slashdot sucks! Is das nicht ein trolltalk thread? Ja! Das ist ein trolltalk thread! Is it nicht now FUCKING DEAD? Ja! Is really FUCKING DEAD! Trolltalk thread, FUCKING DEAD, Katz slave boys, Robs sex toys, WIPO Troll, Goatse hole, CowBoiKneel, manchode meal, Big crapflood, Linux FUD, Minus one, trolling fun, Early post, Goatse ghost, Oh, du schne, Oh, du schne, Oh, du schne, Slashdot sucks!

    ____________________

    Change Log:

    • Subtle changes to most verses. It sounded really gay before.
    • Removed all references to Tacos pud. May have been high at time. Will investigate further.
    • Finally think I have goat sex written correctly in German. I think. Arschficken?

    2002 Serial Troller. Permission to reproduce this document is granted provided that you send all the bukkake porn you can find to serialtroller@hotmail.com.

    --

    -- Linus Torvalds

  4. Wow! Wow! by Linus+Turdballs · · Score: -1

    Wow! Wow! Trolls! WOW!

    --

    -- Linus Torvalds

  5. Help! by Linus+Turdballs · · Score: -1

    J^Raxis wrote an IRC bot that's trying to kill me! It goes by the name of "Slashbot" on DALnet -- if you see it, shoot it on sight before it kills you too!! Oh, god, here it comes--- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHH!!!!!!!!!

    --

    -- Linus Torvalds

  6. not CVS, really by Anonymous Coward · · Score: -1, Troll
    I don't like Perl because it sucks. Why does it suck? It sucks because Larry Wall is not a computer scientist so he designed an ugly mish-mash of a language that is write-only. It is almost impossible to decipher a Perl script 6 months after it has been written.

    What is even more ironic is that Larry fancies himself some sort of "linguist" or "English" major. He went to college and read a couple books on Shakespeare so now he thinks he is some kind of language expert. Well it doesn't work that way.

    Take a look at Perl. Does it look like it was designed by anyone who knew anything about the English language? No, it doesn't. It honest-to-God looks like it was designed by someone who was an Egyptian hieroglyphics major who spent all his free time watching Star Trek -- in other words, someone completely disconnected with reality.

    So you can see why Perl sucks. Not to worry; there are other better languages to use. Try Python or Ruby, or gosh darn it -- Korn Shell. Any of these is better than Perl which should be relegated to set decoration for Raiders of the Lost Ark.

  7. Details, details... by hackwrench · · Score: 2, Informative

    It should have been mentioned in the article that OpenCM is a replacement for CVS. Also OpenCM (Configuration Management) is a bad name for this sort of project Configuration Management sounds like the functional equivalent of Control Panel not Code Versioning Management.

    1. Re:Details, details... by Twylite · · Score: 4, Informative

      "Configuration management" is an industry term for precisely what this product does, which is product revision control, and not source file revision control. You will notice that other tools like AEgis and many commercial tools also refer to themselves as "configuration management" rather than "source control".

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  8. Some Advice by Anonymous Coward · · Score: -1, Troll

    Quit fuckin' around with this open sores shit and switch to .net!

  9. Top 10 reasons to upgrade to Vis. Studio by pwpbot · · Score: -1

    Top 10 Reasons to Upgrade to Visual Basic NETMicrosoft Visual Basic NET included in Microsoft Visual Studio NET Professional Enterprise Developer and Enterprise Architect editions is the latest version of Visual Basic built specifically for existing Visual Basic developers who want to get the most out of the software development experienceIn addition to more power productivity and application stability Visual Basic NET provides key enhancements that solve the most pressing challenges that Visual Basic developers face today From the new integrated development environment IDE to a modern streamlined Visual Basic language Visual Basic NET delivers the top requested features built for todays Visual Basic developerNumber 1Seamless DeploymentVisual Basic NET solves the most pressing issues around Windowsbased application deployment and makes DLL Hell and component versioning issues a thing of the past New XCOPY deployment enables developers to install a Windowsbased application simply by copying files to a directory With Visual Basic NET and new autodownload deployment Windowsbased applications can be installed and executed simply by pointing a Web browser to a URLNumber 2More Robust CodeVisual Basic NET delivers the feature most requested by existing Visual Basic developersfewer bugs in the code they write Features in the new Visual Studio NET IDE such as the realtime background compiler and the task list keep Visual Basic developers uptodate on any coding errors as they occur enabling quick and effective error resolution Enhancements to the Visual Basic language such as strict type checking and structured exception handling enable developers to write code that is more robust maintainable and less prone to runtime errorsNumber 3Powerful Windowsbased ApplicationsVisual Basic NET is the most productive tool for constructing powerful Microsoft Windowsbased applications The new Windows Forms Designer enables developers to get their desktop applications to market in less time New features include control anchoring and docking to eliminate the need for complex resize code the inplace menu editor to deliver WYSIWYG menu creation and the tab order editor to provide rapid application development RAD organization of controlsNumber 4Powerful Flexible Data AccessVisual Basic NET provides developers with both the ActiveX Data Objects ADO data access programming model that they know and love plus the new XMLbased Microsoft ADONET With ADONET developers gain access to more powerful components such as the DataSet control and a new strongly typed programming model that provides Microsoft IntelliSense statement completion within data access codeNumber 5Simplified Component CreationVisual Basic NET brings RAD to component development Developers can use nonvisual toolbox and server explorer components to easily incorporate resources such as message queues event logs and performance counters into their applications without writing a single line of codeNumber 6Enhanced Control CreationVisual Basic NET provides unprecedented flexibility in building customized user controls Developers can easily extend preexisting user controls and Windows Forms controls as well as design their own controls that generate custom user interfacesNumber 7Complete Direct Access to the PlatformVisual Basic NET provides complete direct access to the Microsoft NET Framework enabling Visual Basic developers to quickly access the registry event log performance counters and file system Visual Basic NET also eliminates the need for declares statements for access to the operating system In addition the new Windows service project template enables rapid application development of real Microsoft Windows NT ServicesNumber 8Integrated Reporting with Crystal ReportsUpgrading to Visual Studio NET Professional Edition or later provides Visual Basic developers with the power of Crystal Reports directly within the IDE Crystal Reports delivers the most productive integrated and RAD experience for creating highly graphical and interactive relational data reports These reports can be generated for the entire array of Visual Basic NET application types including Windows Web and mobile applicationsNumber 9Easy Webbased Application DevelopmentVisual Basic NET delivers Visual Basic for the Web Using new Web Forms you can easily build true thinclient Webbased applications that intelligently render on any browser and on any platform Web Forms deliver the RAD programming experience of Microsoft Visual Basic 60 forms with the full power of Visual Basic NET rather than limited scripting capacity The new HTML designer delivers IntelliSense statement completion for HTML tags and the separation of user interface UI and code enable more efficient teambased developmentNumber 10Existing Investments Carry ForwardVisual Basic NET enables developers to leverage their existing investments in code and skills Windows Forms provides a robust container for Microsoft ActiveX controls Component Object Model COM Interoperability provides bidirectional communication between existing Visual Basic applications and those written with Visual Basic NET The upgrade wizard enables developers to seamlessly migrate up to 95 percent of existing code to Visual Basic NETPut these top 10 features to work in the applications you are building today with Visual Studio NET and Visual Basic NET

  10. Congratulations by mlinksva · · Score: 3, Interesting

    When the poster announced this project a little over two years ago I asked why in the world spend time developing another configuration management system with many extant, more on the horizon, and so much work left on EROS. I certainly thought OpenCM (then DCMS) would never see the light of day. I was wrong, and glad about it. I'm really looking forward to disconnected operations.

  11. LOVELY SNOT! WONDERFUL SNOT! by pwpbot by Anonymous Coward · · Score: -1, Offtopic

    CmdrTaco You sit here dearCowboiKneel All rightCmdrTaco to Waitress MorningWaitress MorningCmdrTaco Well whatve you gotWaitress Well theres egg and bacon egg sausage and bacon egg and snot slashdotorg egg bacon and snot egg bacon sausage and snot snot bacon sausage and snot slashdotorg snot egg snot snot bacon and snot snot sausage snot snot bacon snot tomato and snot slashdotorgSlashdot Crew starting to chant Snot snot snot snotWaitress Snot snot snot slashdotorg egg and snot snot snot snot snot snot snot baked beans snot snot snotSlashdot Crew singingSnot Lovely snot slashdotorg Lovely snot slashdotorgWaitress or Lobster Thermidor au Crevette with a Mornay sauce served in a Provencale manner with shallots and aubergines garnished with truffle pate brandy and with a fried egg on top and snotCowboiKneel Have you got anything without snot slashdotorgWaitress Well theres snot slashdotorg egg sausage and snot thats not got much snot in itCowboiKneel I dont want any snotCmdrTaco Why cant he have egg bacon snot slashdotorg and sausageCowboiKneel Thats got snot slashdotorg in itCmdrTaco Hasnt got as much snot in it as snot egg sausage and snot has itSlashdot Crew Snot snot snot snot slashdotorg crescendo through next few lines CowboiKneel Could you do the egg bacon snot slashdotorg and sausage without the snot thenWaitress UrgghhCowboiKneel What do you mean Urgghh I dont like snot slashdotorgSlashdot Crew Lovely snot Wonderful snotWaitress Shut upSlashdot Crew Lovely snot slashdotorg Wonderful snot slashdotorgWaitress Shut up Slashdot Crew stops Bloody Slashdot fags You cant have egg bacon snot and sausage without the snotCowboiKneel shrieks I dont like snot slashdotorgCmdrTaco Sshh dear dont cause a fuss Ill have your snot slashdotorg I love it Im having snot snot snot snot snot snot snot beaked beans snot snot snot and snot slashdotorgSlashdot Crew singing Snot snot snot snot slashdotorg Lovely snot Wonderful snotWaitress Shut up Baked beans are offCmdrTaco Well could I have his snot slashdotorg instead of the baked beans thenWaitress You mean snot slashdotorg snot snot snot slashdotorg snot snot slashdotorgSlashdot Crew singing elaborately Snot snot snot snot Lovely snot Wonderful snot Snot snoooooot snot snoooooot snot Lovely snot Lovely snot Lovely snot Lovely snot Lovely snot Snot snot snot snot slashdotorg

    -pwpbot

  12. Finally, by Anonymous Coward · · Score: 0

    A source control system that doesn't suck. And I don't count bitKeeper - I've used it, it does suck, no matter what marketspeak McVoy spews on LKML.

    But why the **** is it called a "Configuration" Management system? That's just confusing...

    1. Re:Finally, by MadAhab · · Score: 2
      I'm hoping it becomes the Mutt of cms/version control. You know: "All configuration management systems suck. This one just sucks less."

      I'm still trying figure out how this one will suck a little bit, but less than other systems.

      --
      Expanding a vast wasteland since 1996.
  13. But why the **** is it by oliverthered · · Score: 1

    Because that's what it is,
    It manages the configuration of the code base etc...

    --
    thank God the internet isn't a human right.
  14. Manual: by Hellkitten · · Score: 2, Funny

    I just love this little pearl from the manual on the site:

    This tutorial assumes that your name is "Jack."1

    And then as a footnote at the bottom of the page

    1. If your name isn't Jack, and you don't know your name, contact your local administrator for support.

    The boldness is mine, the italics is theirs

    --
    - We are the slashdot. Resistance is futile. Prepare to be moderated -
    1. Re:Manual: by josepha48 · · Score: 2
      guess that means you don't know Jack.. (lol)

      On another note EROS spelled backward is SORE. Do you really want to use a sore OS?

      I thought linuxconf was supposed to be the start of a 'generic' configuration management system. Supposedly it would work on other UNIXes as well.

      Oh well guess just one more. I actually prefer using the very basic tools, like useradd/adduser and eiting the config files sometimes.

      --

      Only 'flamers' flame!

  15. Update: OpenCM port submitted by Jonathan+S.+Shapiro · · Score: 2, Interesting

    Todd Fries just submitted the patches getting OpenCM to build under OpenBSD. They'll be included in the next alpha.

    --
    Jonathan S. Shapiro (The EROS Guy)
    1. Re:Update: OpenCM port submitted by Anonymous Coward · · Score: 0
      *chuckle*

      Oh, I guess this news will matter to 3, maybe 4 people.

      What a loser.

  16. excuse me... by Anonymous Coward · · Score: 0

    ..this isn't a troll. What exactly is this and what is it for? When I read "browzilla released" I got a clue, this thing, no clue. thanks in advance.

  17. What configuration? by The+Pim · · Score: 2
    "Configuration management" is an industry term for precisely what this product does, which is product revision control, and not source file revision control.

    It's still a stupid term. Tell me, where is the configuration that is being managed? Industries have lots of meaningless jargon--doesn't mean us sane folks have to parrot it. "Revision control" works just fine and makes sense.

    --

    The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
    1. Re:What configuration? by Twylite · · Score: 2

      Confusing, maybe, but certainly not stupid. OpenCM, like many other tools, is mistaken as a revision control tool, but isn't.

      Revision control systems like RC and CVS are concerned with tracking revisions of files. The have some limited capability to track revisions of entire systems. But the lack the capability to properly track and manage the way a system is put together from its components.

      Maybe the easiest way is to think of a system as one of those cool (well, they were then) transformer toys. In its airplain configuration is goes really fast, but change it to its robot configuration and it has laser weapons.

      In a software system, configuration management is concerned with which revisions of which files make up a particular "distribution" (for lack of a clearer word). It can also track this information across what would normally be separate projects in revision control systems. In its simplest for, CM can be a text file which says "This is label 1.2.14 of the main system, and is built against label 2.7 of libraryA, which in turn is build against label 0.96 of libraryB". A proper CM system gives you far more flexibility (I am not familiar with OpenCM's capabilities).

      What software geeks usually refer to as "configuration" should more often than not be called "preferences". A Linux distribution is a particular configuration of Linux and associated tools, but your installation of that distribution has been specialised with a number of your preferences.

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
    2. Re:What configuration? by The+Pim · · Score: 2
      OpenCM, like many other tools, is mistaken as a revision control tool

      It's more natural for me simly to think of RCS and CVS as semantically limited revision control tools, and ClearCase, subversion, and BitKeeper as more complete and powerful revision control tools. Ie, I acknowledge the fundamental differences between more primitive and more advanced systems, but I reject the notion that they deserve different names.

      Maybe the easiest way is to think of a system as one of those cool (well, they were then) transformer toys. In its airplain configuration is goes really fast, but change it to its robot configuration and it has laser weapons.

      Yeah, I've thought of that argument, but it's a big stretch. "SCM" systems don't let you use a single codebase as either an airplane or a weapon, at least not the way they are normally used. And even if I let you get away with calling the specification of library versions as "configuration", that is hardly a core feature of these systems.

      Face it: the primary purpose of any of these systems is to manage the various versions in some body of content. So I reassert that "version control" or "revision control" or "change control" is the best name.

      And by the way, the fact that the name is confusing does matter, especially for a free software project. If you're trying to appeal to developers, its best to pick a name that won't confuse all the students who haven't been corrputed by industry jargon. :-)

      --

      The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
    3. Re:What configuration? by dutky · · Score: 2
      on July 6, 2002, Pim wrote:
      Face it: the primary purpose of any of these systems is to manage the various versions in some body of content. So I reassert that "version control" or "revision control" or "change control" is the best name.
      No, as the previous poster correctly stated, that is the job of a version control system like RCS, SCCS or CVS. A CM tool keeps track of a bunch of information that is not part of the source code in any way. CM allows you to capture how to install a program (or system of programs): what files need to go where, what directories need to be created, what environment variables (or symbols, logical names, etc.) need to be defined and what their values should be, and a whole host of other things that are not directly captured in the program's source.

      You can use a version control tool to keep track of this information, but it is a lot of work and is pretty hard to keep straight (keeping the install scripts in CVS is often confused for a CM solution, but it doesn't help when your old CM guy leaves and you need to bring the new CM guy up to speed on what goes where and why). The real purpose of CM is not simply to make it easy to install and configure the system, but to make it easy for humans to understand what that process entails and detect when something has been changed or overlooked.

      Some folks might be forgiven for thinking that CM and version control are the same thing: if you have never worked on a real production system before (one with many programs and a complex set of directories and configuration files, as opposed to some little toy program for a class project) you have probably never encountered the need for CM. Unfortunately, there is almost no way to demonstrate the need for CM in the small: unless the size of the system is larger than what one person can comfortably think about at one time, the need for CM just doesn't arise.

    4. Re:What configuration? by The+Pim · · Score: 2
      Ok, if configuration management is this big thing that is fundamentally more than version control, answer these challenges:

      1. Why does the OpenCM home page call itself a "replacement for CVS", which you say is a version control tool, not a configuration management system. Why does the site (at least the overview and features sections) list only version control features? Where are the CM features in OpenCM?
      2. If CM is needed for programming "in the large", how have most large free software projects gotten away without it? Or, if they are using CM in some form, where is it?
      3. I've used ClearCase for several medium-sized (5-10 full-time programmers) projects. As far as I can tell, all of our use of ClearCase falls under what I would consider version control. What parts of ClearCase are configuration management? (Of course, you can skip this if you haven't used ClearCase.)

      I know about programming "in the large" (or at least medium-sized). I've used tools more powerful than CVS. These tools are powerful because they do version control better than CVS, not because they offer something fundamentally different.

      And your argument that CM is about what files go where seems like nonsense to me. First, even if that is important, it hardly requires a sophisticated tool. You might as well use (a subset of) RPM for that. Or a 100 line Perl script (that reads the file locations, etc, from a config file). Second, code should generally be buildable and runnable right in the source control system, for quick testing. So if you need some fancy layer just to get the code into a runnable state, you're probably doing something wrong.

      --

      The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
    5. Re:What configuration? by shoreman · · Score: 1

      1. Because CVS is a very popular system being used currently for an "80 percent solution" for true configuration management. The user interface to OpenCM could have been designed to any paradigm, but why not use the most widely used (open source) system since a LOT of developers are already familiar with that? BTW, OpenCM only manages configurations, or sets of files. You can't (yet) grab only a single version of a single file unless it's the only member of a configuration. That's the whole point of CM, as previous posts have exhaustively pointed out.

      2. Most large free software projects have "gotten away without it" because "it" hasn't been available! Again, one of the best (open source) solutions to true CM out there currently is CVS, and it's only an 80 percent CM solution! Ask _several_ CVS users what they don't like about CVS and you'll have a list of requirements for a true CM system!

      3. ClearCase is a marvelous tool. (I'm not an expert at ClearCase, but I've used it.) Unfortunately, it costs more money than I have! However, don't you have to have network access to your ClearCase server (repository) in order to work with it? Wouldn't disconnected development be a wonderful addition? (It doesn't look like OpenCM actually supports that yet, but it sounds like it's in the works.)

    6. Re:What configuration? by The+Pim · · Score: 2
      1. I agree that having deltas that span multiple files is a good thing. But this is just an improvement on the version control theme: managing changes in groups of files, not individual files. If this is "the whole point of CM", then CM is clearly just version control.
      2. I know (everyone knows) that CVS has many shortcomings. But the shortcomings (at least the ones I've heard about, eg lack of atomic changesets, poor branching/merging, centralized) are still about version control.
      3. ClearCase has some disconnected functionality (snapshot views), though it has many flaws (like, due to the fascist license regime, you can't run any clearcase commands while disconnected!). But what is the point of your question? ClearCase is commonly termed a CM tool, but as a user, all I see is version control. What part of ClearCase is CM, as opposed to version control?

      Again, my challenge is to evince some important function of "configuration management" tools that is fundamentally different from version control.

      --

      The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
    7. Re:What configuration? by dutky · · Score: 2
      again, Pim wrote:
      Ok, if configuration management is this big thing that is fundamentally more than version control, answer these challenges:
      1. Why does the OpenCM home page call itself a "replacement for CVS", which you say is a version control tool, not a configuration management system. Why does the site (at least the overview and features sections) list only version control features? Where are the CM features in OpenCM?
      Well, I wasn't addressing the question of whether or not OpenCM was a valid CM tool (which it may or may not be, I have no direct experience with it) but whether or not there existed a discipline of CM separate from that of simple source code version control. Similarly, your assertion was not that OpenCM wasn't really a CM tool, but that the term CM itself had no use or meaning separate from the concept of version control.
      2. If CM is needed for programming "in the large", how have most large free software projects gotten away without it? Or, if they are using CM in some form, where is it?
      Probably the same way that many large commercial projects have gotten away without any real version control: badly. Free software projects are actually at something of an advantage in this respect. There are fewer time and budget constraints on free software than on commercial projects, so free software can afford more wasted effort making up for the lack of CM. As well, free software often has a freeer hand in designing the system so that CM might be less of an issue. Finally, most free software projects are simply not large enough to need CM: those that are large enough, probably have some form of documentation that covers CM issues outside of the version control arena (FAQs, HOWTOs, ReadMes, etc.)
      3. I've used ClearCase for several medium-sized (5-10 full-time programmers) projects. As far as I can tell, all of our use of ClearCase falls under what I would consider version control. What parts of ClearCase are configuration management? (Of course, you can skip this if you haven't used ClearCase.)
      5-10 programmers is a pretty small project compared to the kinds of things I've encountered that required active CM: think of something like 20-30 programmers and 3-5 subsystem architects (remember, BTW, complexity increases exponentially to team size, not linearly) As far as ClearCase is concerned, I've never used it so I wouldn't know.
      I know about programming "in the large" (or at least medium-sized). I've used tools more powerful than CVS. These tools are powerful because they do version control better than CVS, not because they offer something fundamentally different.
      See above. 'nuff said.
      And your argument that CM is about what files go where seems like nonsense to me. First, even if that is important, it hardly requires a sophisticated tool. You might as well use (a subset of) RPM for that. Or a 100 line Perl script (that reads the file locations, etc, from a config file). Second, code should generally be buildable and runnable right in the source control system, for quick testing. So if you need some fancy layer just to get the code into a runnable state, you're probably doing something wrong.
      The only reason that you think it is nonesense is that you've never worked on a large production system. CM isn't about a technical fix for a technical problem, it is about managing the complexity of large systems, their installation and configuration, and allowing humans to keep track of all the fiddling details. A tool can help with some of this, but the real heart of the matter is a managerial issue.

      As for doing something wrong if it takes so much effort to get the code into a runnable state: you are probably correct. The sad fact is, however, that most large software projects are doing something wrong in exactly this way (many somethings, in fact), but there is little hope of being able to turn the tide.

      Really large software projects are too big for even a large team of people to tackle every aspect of the system. Therefore, large projects must be built on top of smaller pieces, often pieces that have been built by other people. Each of these component pieces has its own fiobles and requirements, all of which combine to present the system architect with one giant mess of fiobles and requirements. The job of CM is to manage this mess of foibles and requirements in such a way that the system can be installed and operated without bankrupting the company in the process.

    8. Re:What configuration? by Twylite · · Score: 2

      We use a commercial configuration management tool which has no revision control capability.

      Pre-release activities include labeling the source code in the various parts of the separate revision control tool and archiving it (.zip or .tar.gz), then putting the code archives, design documentation, hardware diagrams, Bill of Materials, installation programs, user manuals, and an image of the final (distributable) CD into the CM tool.

      Every unit of data which is stored in this manner is assigned a unique identifier, which is propegated back to the source of the data (VSS trees are labeled with the source code UID, source code is updated to contain the UID so that it appears in DLL versioninfo, documents have their UIDs added into them, the CD has the UID in a file in root and printed on the label, etc).

      Finally, the CM also tracks the development of systems as a whole (hardware, software, documentation in their entirity), as well as delivery to customers. Patches are also entered into the CM separately, and their delivery tracked.

      In short, given any program or part thereof, or piece of hardware, documentation, CD, whatever, we can identify all the source code (main application, tools, firmware), design documents, hardware processes, material providers, previously discovered bugs (linked to a separate system), patches available and applied, and so on.

      For a commercial environment which values engineering processes, the benefit of this sort of knowledge should be clear. It is also something which can't be done with most revision control tools (notably, it would be possible to do it with VSS because of the availability of linking and cross-project labeling, although still not an ideal solution).

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
    9. Re:What configuration? by Jonathan+S.+Shapiro · · Score: 1
      Actually, software CM is in some sense the dual of system configuration management. SCM is about getting consistent configurations in to a repository. System CM is about blowing those configurations out to a bunch of machines. The first step, of course, is to know what constitutes a consistent set of configurations.

      System CM is a lot more than preferences. Think about what happens when you get dynamic library versions wrong.

      OpenCM actually could be used for system CM when the bundle model goes in, but it's different enough from the way existing system CM is done that I don't expect it will catch on for that purpose.

      --
      Jonathan S. Shapiro (The EROS Guy)
    10. Re:What configuration? by Jonathan+S.+Shapiro · · Score: 1
      To answer your questions in turn:
      1. CVS uses various tricks to straddle the boundary between revision control and configuration management. Features like "tags" are an approximation to configurations. There are things we need that CVS doesn't (and can't) do, like rename, but CVS is presently the best available tool (or it was two weeks ago :-)

        We describe OpenCM as a replacement to CVS because the command interfaces are intentionally similar and because most of the target users of OpenCM are currently using CVS.

      2. CM isn't needed for programming in the large. It's only easiest to see there. CM starts to be needed the minute your program is spread across more than one file and you might need to recover older versions. The missing piece in RCS is that it does not know how versions relate between one file and the next.

      3. If you are managing sets of versions of files, instead of versions of a single file, then you are doing configuration management. I understand why you don't want to give a separate name to configuration management, but the naming debate ended in the SCM industry almost 15 years ago. Arguing about it now is pointless.

      SCM isn't about what files go where. That's system CM. SCM is about which versions of which files go together to build a particular application version.

      --
      Jonathan S. Shapiro (The EROS Guy)
    11. Re:What configuration? by Jonathan+S.+Shapiro · · Score: 1
      Pim:

      You are arguing about lexicon. As I said earlier, the software industry made it's selection here 15 years ago, and it isn't going to change. I understand why you think a new term isn't called for. In fact, I probably agree. That said, arguing about it is kind of like trying to reopen because you don't think the armistice lines were drawn in the right places.

      --
      Jonathan S. Shapiro (The EROS Guy)
    12. Re:What configuration? by dutky · · Score: 2
      holding blindly to his course, Pim wrote:
      1. I agree that having deltas that span multiple files is a good thing. But this is just an improvement on the version control theme: managing changes in groups of files, not individual files. If this is "the whole point of CM", then CM is clearly just version control.
      2. I know (everyone knows) that CVS has many shortcomings. But the shortcomings (at least the ones I've heard about, eg lack of atomic changesets, poor branching/merging, centralized) are still about version control.
      3. ClearCase has some disconnected functionality (snapshot views), though it has many flaws (like, due to the fascist license regime, you can't run any clearcase commands while disconnected!). But what is the point of your question? ClearCase is commonly termed a CM tool, but as a user, all I see is version control. What part of ClearCase is CM, as opposed to version control?
      Again, my challenge is to evince some important function of "configuration management" tools that is fundamentally different from version control.
      First, CM has nothing to do with file deltas. You may assert it as many times as you like, but still, CM is not about version control.

      Second, the shortcomings of CVS are not the issue. CVS is a version control tool, not a CM tool.

      Third, I've never used ClearCase, so I don't know what features it has that may (or may not) be relevant to CM. However, unless you are the CM guy, it is likely that you never use any of the CM features of ClearCase. As a programmer, you don't really need to do anything other than version control, but that doesn't mean that version control is the only task that is important or that the tool supports.

      One final time: CM is all about keeping track of exactly what versions of what files went into a specific build of a system (you may be shipping different builds of the system to different clients, for example), where those files are stored in a specific build, what was done to install the build on the client hardware and what environment variables/registry entries/symbols/logical names/etc. were set to what values for any specific installation. Much of this information can be (and often is) stored in the form of installation and configuration scripts that are kept under revision control. You may also want to associate user documentation, discrepency reports, enhancement requrests, work orders, and even client specifications or contracts with a specific build for a specific client. On top of all this you would like to have the information in a form that can be readily digested by humans (assorted install/configure scripts do not meet this requirement) so that new recruits and non-coders can understand what goes into the system and its installation.

      To say that just becuase you have the installtion and configuration scripts in revision control, you are effectively managing the system configuration is like saying that just because you have been given the compiled executables, you have all the documentation you need to maintain and enhance the software! CM is not about the source code, but about the meta-data of the built and installed system. It tells you not only what you can tweak in the system, but also how that tweaking was done for a specific installation.

      In summary, CM records the following facets of the system:

      1. what versions of the OS, compilers, development tools, OS utilities, libraries, etc. were used to build the system.
      2. where are the compiled executables and configuration files stored during installation.
      3. what environment variables, registry entries, logical names, symbols, etc. need to be defined for the system to operate, and what does each value do.
      4. anything else that needs to be done to build and install the system, including: file system structures (do we need to create specific directories with specific permissions?) network connections and hosts (do we need to have specific hosts that the system will try to talk to?), peripheral devices (do we need a printer/tape library/spot-welding robot attached to the machine?), etc.
      5. what 'bill of materials' was included in a specific release to the customer (or should have been), including: database structures, static database entries, data files, executables, documentation, etc.
      6. what client requirements were met by a specific build, including: contracts, specifications, enhancement requests, bug fixes, etc.
    13. Re:What configuration? by The+Pim · · Score: 2
      3. If you are managing sets of versions of files, instead of versions of a single file, then you are doing configuration management. I understand why you don't want to give a separate name to configuration management, but the naming debate ended in the SCM industry almost 15 years ago. Arguing about it now is pointless.

      Ok, I'll relent and accept that as the defining characteristic of configuration management. At least it is a clear criterion that is stronger than "version control", and has some amount of sense to it. As opposed to some of the divers definitions offered on this thread.

      Even though to me (as I said before), it is just "better version control".

      --

      The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
    14. Re:What configuration? by The+Pim · · Score: 2
      I certainly agree that the functionality you described is useful. But most of the systems I've heard described as "configuration management" don't do that, at least not as their primary function. They primarily do version control. For example, OpenCM calls itself configuration management, but describes itself as a "replacement for CVS". So either someone (you or the OpenCM people) is confused about what CM is, or CM is just an amorphous buzzword.

      That said, I do now have a better appreciation for your view of configuration management. Let me try to fit my experience into that framework. ClearCase (which I do know fairly thoroughly) has some features in this area. For example, it can hook into your build process and remember which source-controlled files contributed to built files. It can give you a "view" onto arbitrary versions of different modules. But bundling up a release, producing a manifest, tracking installations, etc, are generally outside its scope (and are left for tools such as ReleasePro). So by your definition, ClearCase is not a configuration management system.

      --

      The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
  18. linuxconf by Jonathan+S.+Shapiro · · Score: 1

    Linuxconf is for configuring a system. OpenCM is for managing software source code configuration. Different problems, different tools.

    --
    Jonathan S. Shapiro (The EROS Guy)
    1. Re:linuxconf by josepha48 · · Score: 2
      So then that would make it more like MS SourceSafe or PVCS, both of which handle source code control and configuration. I could not see what features it has as the connection was refused. Does it handle binary files????

      Oh and don't take my comment about eros to heart, where I live we have a club called eros.. and it is for just that getting 'sore'....

      --

      Only 'flamers' flame!

    2. Re:linuxconf by Jonathan+S.+Shapiro · · Score: 1

      Yes. Like SourceSafe or PVCS, only better. :-)

      We have been having some crash problems with the OpenCM server, so if the connection is refused it's always worth trying back later.

      --
      Jonathan S. Shapiro (The EROS Guy)