Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Visualizing Open Source Contributions

Posted by CmdrTaco on Mon Jun 16, 2008 02:24 PM
from the do-you-see-what-i-see dept.
An anonymous reader writes "A student at UC Davis has created some stunning visualizations of open source software contributions, including Eclipse, Python, Apache httpd and Postgres. From the website: 'This visualization, called code_swarm, shows the history of commits in a software project. A commit happens when a developer makes changes to the code or documents and transfers them into the central project repository. Both developers and files are represented as moving elements. When a developer commits a file, it lights up and flies towards that developer. Files are colored according to their purpose, such as whether they are source code or a document. If files or developers have not been active for a while, they will fade away. A histogram at the bottom keeps a reminder of what has come before.'"
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • lol (Score:5, Funny)

    by Vectronic (1221470) on Monday June 16 2008, @02:25PM (#23814245)
    "When a developer commits a file, it lights up and flies towards that developer."

    Shit, that sounds kinda scary... flaming files chasing you around the office.
  • Needs flash 9 (Score:3, Interesting)

    by Anonymous Coward on Monday June 16 2008, @02:27PM (#23814267)
    Are there other sources for the videos for us Gnash users?
    • Re:Needs flash 9 (Score:4, Informative)

      by mebrahim (1247876) on Monday June 16 2008, @02:57PM (#23814603) Homepage
      You may download the original video if you sign up for a Vimeo account.
      • I'm not sure how you get that image when the name itself suggests a more appropriate one: the gnashing of teeth as Linux users are forced to use the closed-source, out-of-date Adobe player because all the open-source implementations suck.

        And lest anyone cry, "Open source software will only get better when people use it," get real. Lack of stuff to work on is not the problem with gnash :-)

        The good news is that it's a young project that only started in late 2005, so it's far too early to give up on it.
  • by Anonymous Coward
    How many times have I told you to stay out of my laboratory?
  • by Anonymous Coward on Monday June 16 2008, @02:34PM (#23814351)
    If a file is commited it flies towards the developer

    Cool, and now I start with 1 developer and eventually add more. What exactly does determine where their place is inside the cloud? Does a developer commit and fly towards the middle or is this random? What happens if several developers commit the same file in a quick period of time? I think the idea is fun but I'm not really impressed without knowing these facts too. Without those this is merely a random animation generator based on commits, which can be compared with your standard scope on Amarok.
    • by CrazedWalrus (901897) on Monday June 16 2008, @02:48PM (#23814485) Journal
      Watching the video, it seems as if the placement is relative to other commits. The developer's name will always be in the center of the ring of his committed files. If those files were also committed by someone else, those two names float closer together to signify that they work on overlapping code. It's sort-of an animated Venn diagram.

      At least that's my interpretation of it from watching the videos.
  • by davidwr (791652) on Monday June 16 2008, @02:36PM (#23814363) Homepage Journal
    Finally, a way to see who is wasting the most of their day here!
    • by Amouth (879122) on Monday June 16 2008, @02:46PM (#23814463)
      that would be really entertaining to watch.. expecialy if they get get a live feed going..

      i might even hook up another monitor and have it run as a screen saver and aim it at the hallway - and see who figures out what it is first
      • by jalet (36114)
        It would be interesting to plug this onto the #commits IRC channel of freenode, and see what happens.
  • One of the first things that shows up in the Apache video is a "rodent of unusual size" (!).
    Your webserver was coded by a hamster and your Perl smells of elderberries!
  • by Anonymous Coward on Monday June 16 2008, @02:50PM (#23814507)
    "When a developer commits a file..." an angel gets its wings.
    .
    .
    .
    . .When it breaks the project, the angel and developer go to hell.
    • .. the wings get torn off and a dead kitten is stuffed in the crippled angel's mouth. Then and all the other developers throw their empty Dew/Engery Drink cans at the offending developer shouting "NAY NAY!".

      Or so one could wish.
  • by Anonymous Coward
    After watching python and apache, I was really impressed. I especially liked it when python went from three core developers to "the world" when it became more popular.
  • by pclminion (145572) on Monday June 16 2008, @03:02PM (#23814639)

    Lots of commits isn't really a measure of developer productivity or worth. Among other things, it might just mean a scatter-brained developer who commits lots of unrelated, mostly useless changes, or somebody who continually writes bugs then has to back them out. More seasoned programmers will tend to make fewer, but larger commits.

    Something open source seems to lack in general is project stability. With so little central oversight, changes tend to happen without people really thinking things through, many times without any clear motivation for the change other than simply pumping out code in order to look "active."

    Software engineering as a discipline has been working for decades to come up with a heuristic to evaluate programmer productivity, and we're still nowhere close, although there are literally hundreds of formulas in use.

    Of course, it's flashy and cool, but I worry that this will only encourage people to make more commits instead of actually using their brains.

    • Re: (Score:1, Funny)

      by Anonymous Coward
      I'm the only one who thinks that Software Engineering is like a psdeudocience?
      • by pclminion (145572) on Monday June 16 2008, @03:39PM (#23815055)
        I have to agree that SE diverges in very important ways from other engineering disciplines. Perhaps it's not even engineering at all. There are certainly many people who think so. I'm not decided on it. But as long as the common term for it (whatever "it" is) is Software Engineering, that's what I'll use. After all, one important concept from ALL types of engineering is the importance of consistency of terminology (although in this case it's perhaps not consistent ACROSS disciplines, but that's not true of science either)
        • If we consider engineering to be the broad field of people who take scattered pieces of very specific knowledge (pieces that all by themselves are pretty useless, even though interesting), then mix and merge those with the objective of getting at something that does something, then yes, Software Engineering is engineering.

          It's really not that much different from, say, the mechanical engineer who takes some Newtonian mechanics, pieces from fluid dynamics, some bits from materials science, some core electrica
      • Sort of like spelling...
    • Well, you could look at the diffs and track the percentage of each file that's got code from each committer... making sure to look for reverted code and giving credit to the person who originally committed the reverted code...
      • Re: (Score:3, Insightful)

        by pclminion (145572)
        Yes -- at least they chose good examples to demo the technology. Apache, Python, Eclipse, and Postgres really stand out not only in terms of project size but in the quality of project MANAGEMENT.
  • Of course the first thing I wanted to do was try the visualizer on my [openamq.org] open source projects but... it's not open source.

    Pretty, but somewhat useless. The idea is nice and would make a cool presentation on any FOSS project web page, but if it's not open source(d) it'll die.
    • by DarenN (411219)
      The guy does state that he'd like to but he has to clean the source a little first. No doubt it was beaten together a little :) The wonders of postgraduate work!
      • Re: (Score:3, Insightful)

        by pieterh (196118)
        No doubt it was beaten together. My bet is he'll land a good job somewhere doing more research into social dynamics and this particular project will never be released. And then someone will get frustrated and remake it as open source, and there will be a whole community of plug in visualizers and the FOSS community will go through a couple of years of visualizing everything until it gets as boring as fractals.

        Maybe I'm wrong. But "I'll release the code once it's cleaned up" usually means "please don't bo
      • What's the IQ of a project tracking FOSS projects that's not a FOSS project?
  • I wonder how the animations here would compare to those of of closed source projects that use a revision control system. I'd imagine there would be less flying around of files (i.e., one piece of code might have a specific maintainer), much less people involved, etc.
  • by srobert (4099) on Monday June 16 2008, @03:34PM (#23814985)
    I'd like to see that type of presentation used to show the credits for a film. You could color the contributions according to acting, camera, sound work, directing, etc.
  • by Doc Ruby (173196) on Monday June 16 2008, @03:37PM (#23815031) Homepage Journal
    Finally some visualizations of the Net (or bits of it) starting to be worthy of the descriptions William Gibson's http://en.wikiquote.org/wiki/William_Gibson#Neuromancer_.281984.29_Neuromancer_ gave it in 1984:

    Cyberspace. A consensual hallucination experienced daily by billions of legitimate operators, in every nation, by children being taught mathematical concepts... A graphic representation of data abstracted from banks of every computer in the human system. Unthinkable complexity. Lines of light ranged in the nonspace of the mind, clusters and constellations of data. Like city lights, receding...


    Now if someone could make those visualizations interactive GUIs to archives and people, we might finally be getting somewhere. Someone wake me when we're in Stephenson's Metaverse [wikipedia.org], the home version of the game.
    • by ClassMyAss (976281) on Monday June 16 2008, @04:01PM (#23815301) Homepage

      Now if someone could make those visualizations interactive GUIs to archives and people, we might finally be getting somewhere.
      While I'm not sure entirely what that means, it's worth mentioning that this visualization was created in Processing, [processing.org] a Java dialect/IDE geared towards rapid prototyping of exactly that type of thing (highly interactive visualizations), particularly aimed at people that aren't experienced programmers. Ben Fry, [benfry.com] the main coder for the project, does a lot of interesting data visualization stuff, and even wrote a whole book about data visualization [amazon.com], which is definitely worth checking out.
  • by ZeroPly (881915) on Monday June 16 2008, @03:44PM (#23815125)
    Apparently they did the same thing for Vista and posted it to youtube, but people just thought it was a watermelon exploding...
    • Apparently they did the same thing for Vista and posted it to youtube, but people just thought it was a watermelon exploding..
      Hmmm... the Big Bang was also an exploding watermelon.

      Or on the other hand, the universe is Windows.

  • what the visualizer does with a project that dies. It would be interesting to watch the fits and spurts of activity as it gradually dies out.

    Likewise, I'd like to see a project that goes through definitive cycles where it has nearly died more than once and then been resurrected.

    I have no examples to provide for either of these ideas... it's just what I'd like to see.
  • I'd like to see... (Score:4, Interesting)

    by argent (18001) <peterNO@SPAMslashdot.2006.taronga.com> on Monday June 16 2008, @04:32PM (#23815675) Homepage Journal
    Linux kernel, Free/Net/OpenBSD, gcc, ... the core infrastructure
    • Re: (Score:2, Interesting)

      by zish (174783)
      Goodness! Yes! As if the currently rendered series isn't mind blowing enough. What I think would really be incredible is to display all of the renders on a single page. This could enable one to visualize developer "cross-pollination".
  • Open source help. (Score:5, Insightful)

    by WarJolt (990309) on Monday June 16 2008, @06:07PM (#23816591)

    I've received some requests to make the application open source so that people can use it on their own software projects. I think that's a great idea. Unfortunately the ad hoc code needs lots of cleaning and I will be busy with other things in the next few months. If I have time I will look into it.
    I don't have the authority to speak on behalf of all of us /.ers, but I will anyway. Give it to us and we'll clean it up for you. Unless you're using code you can't release I'd like to take a look at what you got.
  • All I get is a "to watch this video, you need Flash 9" message -- displayed in a flash object that runs in Flash 9.
    • Hrm. Not sure why you get that, but it shows up fine for me. So it's not a joke.

      I'm running Ubuntu Gutsy, stock install, so it's not a user agent sniffing issue, unless it's designed only to work in Linux.
  • It's interesting. After each release you see big bursts of documentation updates, then lots of commits from a varied crowd, then a trend towards larger/more frequent commits by a fewer number of people, then another release hits.

    I'm thinking it's because after a release big architectural, functional, and feature changes are less likely to change really soon and lots of changes have happened recently, so there's a lot of documentation to update and it's the ideal time to do it: the release just came out so
    • I just realized the post above only really applies to the abridged Eclipse vid. The postgres, apache, and python vids really didn't display that nature at all. My bad.