So the reason for this blog post is that I feel the need to explain why Gitty isn't open source, considering how a long time back I wrote about how it was open source and how it relates to the former sister project BazaarX, and how Gitty got to the state it's at now.
So this story actually starts with BazaarX. BazaarX is a similar project to Gitty in that it aims to be a DVCS client but for Bazaar repositories. Somehow a long time ago I got the idea of making a git client under the same license as BazaarX so that the two could freely exchange code a develop a plugin architecture (i.e. Gitty developing it's own plugin for Git Repos and BazaarX developing it's own for Bazaar Repos.) At the time Danny Greg was working on the project and I sent him this message
Hey Danny,
it's me Colin, can you forward this onto Martin as well? I can't find his e-mail anywhere, this is my personal e-mail so you can feel free to e-mail me here or at my [personaldacted] address. Let me know what you think of all of this.
Anyway I just wanted to checkin and see what the state of BazaarX is before doing any unnecessary coding or trampling on anybody else's work. I can get BazaarX to point at my Bazaar repo's just not view anything currently. What would be the best area to start working on?
Also just wanted to make you aware of what I am doing with Gitty ( http://github.com/Machx/gitty/tree/master ) so you guys don't think I am conspiring against you or anything like that. I love the fact that BazaarX is open source and I was hoping to also do a similar tool for GIT Repo's (no offense Bazaar is good, I just like GIT a bit more.) Anyway I got the idea of keeping the User Interface the same between the two projects and contributing to both BazaarX's UI and backend code where needed while GItty will (to the extent that it can Git & Bazaar repo differences aside) mirror the BazaarX UI. Gitty will also remain under a compatible license with BazaarX so the two projects can freely exchange code. If I develop some great new UI feature for working with GIT repo's it can be grabbed and easily implemented into BazaarX if you chose to do so and vice versa.
So in conclusion
* I would like to contribute to any area of BazaarX
* I am also doing a project called Gitty
* The two projects are under the same license and can freely exchange code
* Gitty will try to mirror the BazaarX UI so the only noticeable difference is it works with GIT instead of Bazaar
If you have any questions for me just let me know. Thanks!
From Colin
www.cocoasamurai.com
Now that I look back on it, it's very clear this wouldn't really work long term. Git and Bazaar share very different models when it comes to how they work and how you'd interact with them. However at the time everybody seemed to think this was a great idea and started working on it. If I remember correctly I was going to look at BazaarX's performance issues and see how and where it could be speed up. From this I created Gitty (the cheesy haha part being that BazaarX ended with a X and I wanted some sorta fun name and so I thought it'd be great to end with a y, thus Gitty.)
However the project had a flaw... Martin Pilkington. I don't mean Martin's a bad person, but it became incredibly clear that a little while later on when Martin got busy and lost interest in the project, it slowed down to a screeching halt. The reason (as I saw it) was that the project was still in the early development stage and without a leader to guide worker efforts it essentially died. So I had a problem, I had a Git Client I still wanted to develop and a sister project that I thought I could depend on that came to a halt.
So after a while I came to a decision. I had to cut the cord with BazaarX and go on my own. At first I thought this would be a grueling process to make my own git library for Mac OS X, but luckily a project came out of nowhere called CocoaGit that accomplishes this.
The irony here is that both BazaarX and Gitty as they exist today, are complete rewrites that share absolutely no code in common with what they had before. Both of them don't even share the same design goals as they did before.
I could have open sourced Gitty, but I chose not to. I realize this is a bit selfish, but I've been thinking of possibly going "Indie", becoming a Mac Indie developer with my own business and this would be a great product to launch with. It remains to be seen if that will happen with any certainty, but it's not possible to really do that with a completely open source project. I can always open source Gitty with a single click in GitHub at any time if I should ever desire to do so. As things stand right now I still have a part time job doing tech support, this is a fairly stressful job at times (especially so around the Holidays) mainly so I work on Gitty in the free time I get when I am not feeling like crap. It's actually progressing along fairly well now since I got a private Github Account and have invested $$$ into it, thus really keeping me motivated in addition to the fact that I just really want to have an app I can launch and do things with Git Repositories without having to dig into the terminal (not that I am against that.)
However one thing hasn't changed, I still intend to work on BazaarX. "Why? you've said you thought bazaar sucked when it comes to how it works as a repository system." Actually theres a lot I dislike about how Bazaar works as a DVCS which is why I really don't use it, when I was working on BazaarX earlier, Bazaar's performance was atrocious. Today Bazaar has improved a bunch, but it's still the slowest of the 3 main DVCS's. But I still intend to work on it for several reasons. (1) There's a lot I can learn from BazaarX and there will be a lot BazaarX can learn from Gitty (2) It'll keep my mind fresh seeing how a different version control system works (3) Completely ignoring the repository part of BazaarX, there is a lot I can contribute to and learn from in terms of Cocoa and a developing Open Source project, this alone is worth working on it, and plus I've wanted to work alongside Martin for a while now.
It's a bit odd that even after all this I still intend to work with the BazaarX project and that Gitty has gone closed source. Could that be seen as some odd conflict of interest? Sure and if the other developers on BazaarX ever want me out, i would be willing to leave, but until then I will keep tracking my own branch of BazaarX.







