Qt Public Repository Launched!

With the announcement back in January of Qt going LGPL there was a small piece of information that slipped though the cracks of the wider news reporting, namely the fact that we were planing on opening up our repositories and development model. The first major phase of this work is now complete, and we are proud to present the results:




Launching a public repository is a big milestone for us in Qt Software, as it allows us to work closer with contributors, strengthens the the link to the community, and gives that warm and fuzzy feeling of working with open source. Granted, our releases have been open source, but our development model has not. Although you could always send us patches by mail or through our bug tracker it was a cumbersome process, requiring a faxed copy of a copyright-assignment form from the contributor, as well as a lot of manual labor on our part.

Our goal with the new site is to make this process as simple and welcoming as possible, and that's why we will no longer ask for copyright assignment. Instead we ask contributors to grant Qt Software a non-exclusive right to re-use and incorporate the code as a part of Qt, handled by a one-time online click-through the first time you submit code for inclusion in Qt.

Maintaining your patches to Qt and working in parallel with our development is also very easy thanks to the features of Git and Gitorious. Just clone the official Qt repository, push you changes to your newly created clone, and submit a merge request for our reviewers. Everything happens on the site. (For more information on how to contribute see the Qt project wiki).

Choosing Gitorious as the basis for our public repository hosting was the result of both chance and strategy. As previously blogged about we switched to Git for our development almost a year ago, and as part of the move we installed Gitorious on one of our servers to manage our many projects and repositories. We soon started hacking on the code to add various features and tweaks, and quickly fell in love with the codebase. Fast forward a couple of months to the LGPL and public repository planning, we started playing with the idea of using Gitorious for hosting the public site too. At that point we realized that the author and maintainer of Gitorious, Johan Sørensen, was actually living in Oslo, so we invited him to our offices for a chat. One thing lead to another, and we ended up funding Johan and one of his colleagues to work on Gitorious for the past four months. The new Gitorious site is the result of that work. All of our changes have been pushed upstream, and we will continue to invest in further development of the site.

So what are the features of the new site? Johan has already enumerated these in full on his blog, but a few highlights are in order:

  • Team support (easier to manage committers and project ownership)
  • Asynchronous task processing (no more lag when pushing)
  • Visual tweaks (including breadcrumbs and pretty URLs)

We are also looking at improving the whole review process, for example by adding line-based commenting to merge requests, bug-tracker integration, and automated testing of contributions, but these are ideas still in research. Stay tuned for updates on this.

So, what are you waiting for? Create an account on Gitorious, start cloning, and join the exciting development of Qt! :)

Good luck!


Blog Topics:

Comments

Commenting for this post has ended.

?
Thorben
0 points
194 months ago

Excellent!

Thanks a lot, Qt Software!

?
Tomaz
0 points
194 months ago

Amazing, indeed. now, next year what about some google-summer-of-code for the Qt code? ;D

?
Anon
0 points
194 months ago

Excellent! Are you guys planning to register with http://cia.vc/ for us Qt nuts who want to see everything in realtime? ;)

Also, how does the lack of requirement to sign over copyrights affect Qt's Software to change Qt's license in the future?

?
Robert Knight
0 points
194 months ago

Excellent! - Thank-you for your hard work on this.

?
icwiener
0 points
194 months ago

Hi,

is there a reason for including the QM translation files inside the repository? We only manage the TS files and generate the QM files if needed.
Did we miss an advantage of adding both?

Regards

?
AnonymousPowerCoward
0 points
194 months ago

On opening http://www.gitorious.org/qt... "Action requires login"
clears throat

?
Gabor Garami
0 points
194 months ago

@icwiener: I think, QM files doesn't really needed, because easy to create them: "lrelease foo.ts". Because QM files are binary files, they aren't well-compressable (at least worse than .ts) and quite hard to synchronize them with their source.

?
Gabor Garami
0 points
194 months ago

@AnonymousPowerCoward: You need a free Gitorius account to do this. This isn't a Qt restriction.

?
akoskm
0 points
194 months ago

Thank you all!

?
icwiener
0 points
194 months ago

@Gabor Garami
Yes, I thought so as well, but they are included in the Qt repos, thus my question.

Having generated files in a vcs doesn't make much sense.

Regards

?
Daniel Molkentin
0 points
194 months ago

@AnonymousPowerCoward: It seems that you are confusing public cloning (i.e. publishing your own clone) with a private clone, i.e. the equivalent of an svn checkout. You can always clone anonymously, but if you want your own public repository and use gitorious for it, of course you have to log in.

Daniel

?
Thiago Macieira
0 points
194 months ago

@icwiener: those files have been in our repository for years. No one thought of removing them.

?
Tor Arne Vestbø
0 points
194 months ago

@Anon:

A CIA bot would be nice, I'll investigate :) The license grant we now use still gives us the right to re-license the contribution, for example for our commercial customers, or as BSD in case of the KDE Free Qt Foundation poison pill, so no problem there.

@AnonymousPowerCoward:

Daniel is right, you don't need to log in to clone the Qt repository to your local machine, just visit http://qt.gitorious.org/qt/qt or clone git://gitorious.org/qt/qt.git. The Gitorious clone action makes a clone on the site where you can push your changes.

?
Federico
0 points
194 months ago

Thanks for opening the repositories.
BTW I'm trying to clone the Qt Creator repository using Http, and I'm always getting a 403 (Forbidden) error. Any Ideas?

?
Tor Arne Vestbø
0 points
194 months ago

@Federico:

Thanks for the notice, we're working on fixing the problem.

?
Zeke
0 points
194 months ago

I hope there is some quality control. So Qt does fall bad in quality. But congrats. Maybe we can hopefully get more features added to Qt like QDockWidget for auto hide which has constantly been pushed for the next minor release and none actually done.

?
Alessandro
0 points
194 months ago

@qm-files: I assume that the main reason for the .qm files being there is that 'lrelease' (the tool creates them from .ts files) is not necessarily built before the Qt libs or some of the tools. So, instead of that dependency on lrelease, we have the binary blobs. Are we happy with that? Maybe not 100% :)

?
espenr
0 points
194 months ago

@Zeke: I think we've got around 11 Qt developers here who have signed up for reviewing merge requests. Bascially, nothing will get into Qt without a proper review.

Btw. I count around 14 merge requests here http://qt.gitorious.org/qt/... After just one day thats fantastic - and also very terrifying ;D

?
QtFan
0 points
194 months ago

Excellent,

but guys, how can you be sure that contributed code is not stolen ?

Do you have any concerns about this?

?
Daniel Molkentin
0 points
194 months ago

@QtFan: No worries, the code will be checked for infringements as a part of the legal process.

?
Pavel Kral
0 points
194 months ago

cool...!

?
GordonSchumacher
0 points
194 months ago

Am I being particularly dense today, or is there absolutely no link on the Gitorious website to create a personal clone? I eventually managed to find http://qt.gitorious.org/qt/... on Google, but even after knowing the link I could find no way to accomplish this.

The service looks pretty cool feature-wise, but figuring out how to use it is crazy-making. Hmm... come to think of it, this is not a bad description of Git itself :)