Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Software IT Technology

Visualizing Open Source Contributions 80

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.'"
This discussion has been archived. No new comments can be posted.

Visualizing Open Source Contributions

Comments Filter:
  • 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.
  • 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.
      • by zapakh ( 1256518 )

        that would be really entertaining to watch.. expecialy if they get get a live feed going..
        Yeah, especially if it's in real time. ~
  • 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...
    • Re: (Score:1, Informative)

      by Anonymous Coward
      Not only that, but there are other ways to contribute to open source software, such as distribution, exposure & demonstration, solidifying reputation through adoption, documentation, art, maintaining other project resources (moderating a forum, designing a web site, newsletters) etc...
    • 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...
    • by jnnnnn ( 1079877 )
      A lot of open source projects have a small core team that vets and selects contributions from external contributors.

      In relation to the visualization, this could be misleading, as that person gets credit for the work of all the contributors they select.

      In general, this is quite a robust method of development, and most large organizations use it too (the actual job is called "Configuration Manager" or something similar). The difference between open source and commercial development is that the commercial sys
  • 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 Ma8thew ( 861741 )
      Would never happen, because it would put the technical crew and writers on par with the multimillion dollar actors. And I'm not sure that the actors would like that.
      • by zapakh ( 1256518 )

        Would never happen, because it would put the technical crew and writers on par with the multimillion dollar actors. And I'm not sure that the actors would like that.
        The actors and directors would have their names shown. The crew would be the colored dots. But I have no idea what the analogue of the "commit" action would be.
    • by xtracto ( 837672 ) *
      Would make a better presentation of the credits for the Open source software contributors. Think about it. If you look at the "contributors" window in Firefox, you get a boring list without really knowing who has contributed where and how much.

      Using a contrib. video like this, you could even add a list of each of the contributors and a list of the files each of them patched (instead of the histogram shown in the video).
  • 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.
  • At least this is visualizing something useful (and maybe encouraging more commits), as opposed to http://twittervision.com/ [twittervision.com] .
  • I'd like to see... (Score:4, Interesting)

    by argent ( 18001 ) <peter&slashdot,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.
  • I was sad that the Python one ended in 2006. They missed me!
  • 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.
      • Re: (Score:1, Insightful)

        by Anonymous Coward
        Your observation is no less relevant. Each of the projects have dramatically different management styles. The pattens you see may be like fingerprints.
  • I guess you could learn to read this like a Dr can read X-rays and other such stuff, but for me it was just confusing.

It's a naive, domestic operating system without any breeding, but I think you'll be amused by its presumption.

Working...