Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Mirko Stocker on Mar 18, 2008 06:55 PM
Git is a distributed version control system, originally written by Linus Torvalds to manage the source code of the Linux kernel. It has also become quite successful on other projects, especially in the Ruby world, where the list of prominent users includes Rubinius and Merb. Git can also be used by the deployments tools Capistrano and Vlad the Deployer.
As stated above, Git is a distributed version control system, which means that there isn't only one fully-fledged master repository, but every clone can be used stand-alone and changes can be merged between any two repositories.
GitHub hosts git repositories and provides a web interface to it, but contrary to other such services like SourceForge or Google Code, a unique selling point of GitHub is the easy forking of other projects. Contributing to a project is as simple as clicking the "fork" button on the project's site, checking out and committing changes to your forked repository and finally proposing a merge to the project owner via the built in "pull request" feature. GitHub has already been coined as being the MySpace for hackers:
Forking on GitHub is like friending on Myspace (or Facebook [...]) inasmuch as this is the point where a line is drawn from one node to another in the social graph.
Naturally, the GitHub project itself is hosted on GitHub, but in a private, non-public viewable repository. While open source projects are hosted for free, private repositories are not. Chris Wanstrath, one of the GitHub developers, confirmed that the plan is to finance the free repository hosting through paid, private repositories:
Yes, that's the plan. In doing client work, developing FamSpam, and even developing GitHub itself, GitHub's private repositories have been a real life saver. Anyone who values both their time and staying on the same page as the rest of their team should get some real value out of it.
Chris Wanstrath shared some information about the inner workings of GitHub with InfoQ:
GitHub is mostly implemented in Rails. The post-commit integration mini-apps we're working on are all written in Merb, we use the Python Pygments for syntax highlighting, and we use Ara T. Howard's Bj plus some Ruby scripts for our queueing system. And, of course, we use the Ruby Grit library to interface with Git.
GitHub already has a quite impressive list of features, along the mandatory repository browser, there's a project Wiki and even a GitHub gem to make working with GitHub from the shell even more comfortable. More features are planned for the future:
A lot of people want a ticketing system, so a simple one is in the works. We're also working on a RubyGems server and some pre-rolled post-commit hooks, as I mentioned. If you can't or just don't want to host a daemon on your own, you can use one of ours.Although no official release date has been set yet, GitHub is expected to officially launch around the end of March (it is online now, but registration is by invitation only). More information can be found on the official GitHub website or the GitHub blog. The list of open source projects hosted at GitHub is also available.
We're also working on some more features to help companies stay in sync when using Github.Finally, we're working on an API. We'll be rolling out bits of the read-only stuff real soon now, followed by some awesome 'write' integration. You'll be able to post events to the news feed, send messages, and other cool stuff using the API.
The Role of Open Source in Data Integration
Usage Landscape: Enterprise Open Source Data Integration
Ensuring Code Quality in Multi-threaded Applications
Effective Management of Static Analysis Vulnerabilities and Defects
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
No comments
Watch Thread Reply