Slashdot Mirror


Visualizing Open Source Contributions

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.'"

80 comments

  1. lol by Vectronic · · Score: 5, Funny

    "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.

    1. Re:lol by PrescriptionWarning · · Score: 1

      just put on your Red Armor of Fire Retarding +1 and you're good to go

      don't mix it up with the Polka Dotted Armor of Mental Retarding -2.

    2. Re:lol by El_Muerte_TDS · · Score: 5, Funny

      Take your pick. Flaming files, or flying chairs.

    3. Re:lol by Anonymous Coward · · Score: 0

      The strange thing is, I get that russian brides banner ad after I visit porn sites, and before I clean my cache/cookies/etc.

      What does that say about you? :p

    4. Re:lol by Anonymous Coward · · Score: 0

      Incredibly funny, and not informative at all. Good job, mods.

    5. Re:lol by frglrock · · Score: 1

      Can't we bring back the flying toasters instead?

      They seem to cover all bases.

  2. Needs flash 9 by Anonymous Coward · · Score: 3, Interesting

    Are there other sources for the videos for us Gnash users?

    1. Re:Needs flash 9 by Anonymous Coward · · Score: 0

      Darn, you're on to them! The plan was to enforce the gnash team to start coding asap and present the newly created /. fanbase with live streaming video's !

    2. Re:Needs flash 9 by mebrahim · · Score: 4, Informative

      You may download the original video if you sign up for a Vimeo account.

    3. Re:Needs flash 9 by nawcom · · Score: 0

      for some reason whenever i read "gnash" i think of some open puss-filled wound. I'm not saying anything bad about gnu at all as i'm an open source programmer, but for some reason i've always perceived the gnash project to be the infected open wound of www design.

    4. Re:Needs flash 9 by Anonymous Coward · · Score: 0

      for some reason whenever i read "gnash" i think of some open puss-filled wound. Great. Now I do too, and I can't unsee it. Thanks for nothing :(
    5. Re:Needs flash 9 by Anonymous Coward · · Score: 0

      Even with Flash 9 it's telling me that I need to download Flash 9. :(

    6. Re:Needs flash 9 by try_anything · · Score: 1

      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.

  3. lookatalltheprettycolors by Anonymous Coward · · Score: 1, Funny

    How many times have I told you to stay out of my laboratory?

  4. A bit silly; leaves too many questions.. by Anonymous Coward · · Score: 3, Insightful

    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.

    1. Re:A bit silly; leaves too many questions.. by CrazedWalrus · · Score: 3, Informative

      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.

  5. Can we do this with /.? by davidwr · · Score: 3, Funny

    Finally, a way to see who is wasting the most of their day here!

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Can we do this with /.? by Amouth · · Score: 3, Interesting

      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

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    2. Re:Can we do this with /.? by jalet · · Score: 1

      It would be interesting to plug this onto the #commits IRC channel of freenode, and see what happens.

      --
      Votez ecolo : Chiez dans l'urne !
    3. Re:Can we do this with /.? by Anonymous Coward · · Score: 0

      Cower slashdottians. Avert your eyes from the awesome power of the Anonymous Cowherd, lest ye be cast unto the idle abyss.

    4. Re:Can we do this with /.? by zapakh · · Score: 1

      that would be really entertaining to watch.. expecialy if they get get a live feed going.. Yeah, especially if it's in real time. ~
  6. Your server was coded by a hamster by Tweenk · · Score: 1

    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!

    --
    Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    1. Re:Your server was coded by a hamster by amccaf1 · · Score: 4, Funny

      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!
      I think you're getting your Princess Bride references confused with your Monty Python pointers...

      --
      "Flag on the moon. How did it get there?"
    2. Re:Your server was coded by a hamster by jrgp · · Score: 0

      Or maybe someone chose not to submit their real name to the Apache credits and chose a slightly funny alias?

      --
      Cannot the kingdom of salvation take me home?
    3. Re:Your server was coded by a hamster by Tweenk · · Score: 0, Flamebait

      This happens when somebody not versed enough in obscure American culture attempts a joke at Slashdot...

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    4. Re:Your server was coded by a hamster by Osurak · · Score: 4, Informative

      This happens when somebody not versed enough in obscure American culture attempts a joke at Slashdot... Monty Python is British.
    5. Re:Your server was coded by a hamster by Ken_g6 · · Score: 2, Informative

      Well, that may be, but I found his real name anyway:

      Ken Coar (no relation to this Ken.)

      --
      (T>t && O(n)--) == sqrt(666)
    6. Re:Your server was coded by a hamster by Anonymous Coward · · Score: 0

      Mr. Python might be British, but culture referenced was American kids singing the lumberjack song, or exclaiming "It's just a flesh wound!" at every remotely appropriate occasion.

    7. Re:Your server was coded by a hamster by Anonymous Coward · · Score: 2, Funny

      look, I didn't come here for an argument!

    8. Re:Your server was coded by a hamster by YourExperiment · · Score: 2, Funny

      Yes you did.

  7. It's a wonderful life by Anonymous Coward · · Score: 3, Funny

    "When a developer commits a file..." an angel gets its wings.
    .
    .
    .
    . .When it breaks the project, the angel and developer go to hell.

  8. That was damn cool by Anonymous Coward · · Score: 1

    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.

  9. Commits are a bad measure by pclminion · · Score: 4, Interesting

    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.

    1. Re:Commits are a bad measure by Anonymous Coward · · Score: 0

      I follow the postgres hackers list pretty close, and the names that I saw were the names that I expected to see.

      Maybe that's true for the smaller contributers, but for the big contributors I think that it is a pretty good measure. ( At least for postgres )

    2. Re:Commits are a bad measure by pclminion · · Score: 2, Insightful

      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.

    3. Re:Commits are a bad measure by Anonymous Coward · · Score: 1, Funny

      I'm the only one who thinks that Software Engineering is like a psdeudocience?

    4. Re:Commits are a bad measure by pclminion · · Score: 3, Interesting

      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)

    5. Re:Commits are a bad measure by pherthyl · · Score: 1

      Sort of like spelling...

    6. Re:Commits are a bad measure by Anonymous Coward · · Score: 1, Informative

      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...

    7. Re:Commits are a bad measure by Anonymous Coward · · Score: 0

      Commits are useless as a guide because we don't all have commit access to all projects. Invariably our patches have to go through maintainers, some are more inclined to accept fixes than others suffering from NIH syndrome.

    8. Re:Commits are a bad measure by jnnnnn · · Score: 1

      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 system is under more pressure to deliver, whereas the open source people can (usually) take time to get things right if they need to - they're more likely to be in the game for the product, not the return. As a result, contributions from inexperienced or unfamiliar developers are probably vetted more carefully than those in the closed-source world.

      I thought that the visualizations were beautiful.

      --
      All generalizations are false.

    9. Re:Commits are a bad measure by alexgieg · · Score: 1

      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 electrical concepts, certain math procedures etc., and end up with an automobile, i.e., a real object that, by mixing and matching all of the above, becomes a functional whole. The difference is only that the "things" software engineers want to produce merge, by their own nature, a bigger amount of logical disciplines than other types of engineering. But the physical is still there, in the form of the machinery components in which the software will run.

      --
      Conservatism: (n.) love of the existing evils. Liberalism: (n.) desire to substitute new evils for the existing ones.
  10. Visualizer is not open source by pieterh · · Score: 1

    Of course the first thing I wanted to do was try the visualizer on my 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.

    1. Re:Visualizer is not open source by DarenN · · Score: 1

      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!

      --
      Rational thought is the only true freedom
    2. Re:Visualizer is not open source by pieterh · · Score: 2, Insightful

      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 bother me with requests for code, I'm on something really neat right now."

  11. Compared to closed source by Gracenotes · · Score: 1

    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.

  12. Just like wikipedia by Anonymous Coward · · Score: 0

    I think this somewhat relates to the "activeness-on-wikipedia" problem. Of course, there are differences, but in terms of "introducing bugs and backing them out", "minor unrelated changes", "quality of commits" it is comparable.

    http://www.aaronsw.com/weblog/whowriteswikipedia

  13. Would make great movie credits. by srobert · · Score: 3, Interesting

    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.

    1. Re:Would make great movie credits. by Ma8thew · · Score: 1

      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.

    2. Re:Would make great movie credits. by zapakh · · Score: 1

      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.
    3. Re:Would make great movie credits. by xtracto · · Score: 1

      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).

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
  14. Neuromancer's Cyberspace Cometh by Doc+Ruby · · Score: 2, Interesting
    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, the home version of the game.
    --

    --
    make install -not war

    1. Re:Neuromancer's Cyberspace Cometh by ClassMyAss · · Score: 3, Informative

      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, 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, the main coder for the project, does a lot of interesting data visualization stuff, and even wrote a whole book about data visualization, which is definitely worth checking out.
  15. The one that didn't make it by ZeroPly · · Score: 4, Funny

    Apparently they did the same thing for Vista and posted it to youtube, but people just thought it was a watermelon exploding...

    --
    Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    1. Re:The one that didn't make it by lena_10326 · · Score: 1

      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.

      --
      Camping on quad since 1996.
  16. I'd like to see... by pintpusher · · Score: 1

    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.

    --
    man, I feel like mold.
    1. Re:I'd like to see... by zish · · Score: 2, Interesting

      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".

      --
      Spork.

      P.S. Spork.
    2. Re:I'd like to see... by alexgieg · · Score: 1

      I'd like to see something like this for Wikipedia...

      --
      Conservatism: (n.) love of the existing evils. Liberalism: (n.) desire to substitute new evils for the existing ones.
    3. Re:I'd like to see... by argent · · Score: 1

      That would likely be a solid white screen. :)

  17. Visualizing something useful by ThumpSlice · · Score: 1

    At least this is visualizing something useful (and maybe encouraging more commits), as opposed to http://twittervision.com/ .

    --
    -- If you're posting to be funny, and your sig is funnier . . . .
  18. I'd like to see... by argent · · Score: 3, Interesting

    Linux kernel, Free/Net/OpenBSD, gcc, ... the core infrastructure

  19. Well, you could diff... by argent · · Score: 1

    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...

  20. Impressive by HermMunster · · Score: 1

    Very.

    --
    You can lead a man with reason but you can't make him think.
  21. Irony quotient... by argent · · Score: 1

    What's the IQ of a project tracking FOSS projects that's not a FOSS project?

  22. Open source help. by WarJolt · · Score: 4, Insightful

    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.
  23. STUNNING by Anonymous Coward · · Score: 0

    OMG, I'm STUNNED. Benevolent Deity, help me!!

    1. Re:STUNNING by ThunderHammer · · Score: 1

      Really Impressive!

  24. joke? by multi+io · · Score: 1

    All I get is a "to watch this video, you need Flash 9" message -- displayed in a flash object that runs in Flash 9.

    1. Re:joke? by Almahtar · · Score: 1

      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.

    2. Re:joke? by multi+io · · Score: 1

      I'm on Debian, and my Flash 9 was too old. Updating flashplugin-nonfree remedied this.

  25. Darn! by Gutwroth · · Score: 1

    I was sad that the Python one ended in 2006. They missed me!

  26. Interesting patterns by Almahtar · · Score: 1

    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 the next big release that changes things will be a ways out.

    I'm thinking the trend towards contributions from larger numbers of people after the documentation boom is for two reasons - one, the more "hobbyist" developers have had some time to get familiar with the architecture revamps, and two they've had time to see where the new documentation doesn't line up with the new behavior and find/fix little bugs.

    After that, as a new release is coming up, the core developers are making big changes to key infrastructure. That's why you see more central activity from them as they make the more bold and large changes in anticipation of the new release.

    That's what I gleaned/theorized from the visualization, anyone have other potential insights or theories?

    1. Re:Interesting patterns by Almahtar · · Score: 1

      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.

    2. Re:Interesting patterns by Anonymous Coward · · Score: 1, Insightful

      Your observation is no less relevant. Each of the projects have dramatically different management styles. The pattens you see may be like fingerprints.

  27. .. but if it breaks the build by Dareth · · Score: 1

    .. 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.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  28. Hard to understand by Grizzlysmit · · Score: 1

    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.

    --
    in my life God comes first.... but Linux is pretty high after that :-D
    Francis Smit