I am building web app with one guy based on my idea (trying to avoid overused word 'startup'), I'm responsible for the front end, he is/was doing back end using ROR. On top of delaying the launch (January, May, now August and no way it's going to happen), recently he also stopped being responsive, hasn't touch the project for 3 weeks, ignores my questions, so I am thinking of moving on and look for another cofounder.
I am affraid he might not give me access to the application if I decide to sack him. Currently we are using c9.com for a dev version and we push changes to git repository, so the version on c9 is the most updated one.
I'm not the back end guy so is there a way I can secure the work / minimise the losses if I need to find a new cofounder, so that the new one will be able to fairly quickly recover the app? I can obviously copy all the erb files and folder structure (database isn't big so if I loose that part - not a big drama), but is there a smarter way?
I don't know c9 well, but assuming you have access to the c9 repo, you should be able clone it directly to your machine (several documentation points available) and then re-push it to a GitHub or Bitbucket repo. c9 may allow you to integrate to Github (or Bitbucket) and do it that way without a local clone. Be sure to make your repo private unless you want it visible publically.
Assuming you can delete the c9 account once you've cloned it, then your wayward co-founder wouldn't have access once it's down (but could still have a local clone from it -- probably nothing you can do about that). In any case, I'd clone it rather than trying to copy files manually (though you could -- not that bad to do with RoR).
If you don't have access to the c9 repo, then it's much more difficult. He'd either have to add you or you'd need to get access some other way.
Most developers I know that behave as you've described are probably more embarrassed or feeling guilty than anything, so if you "let him off the hook", (s)he'll probably be relieved and happy to hand it back to you, albeit sheepishly.
To connect your Cloud 9 repo to Github or Bitbucket, please look at this site: https://docs.c9.io/docs/setting-up-github-workspace. In short, the steps are to establish a Github or Bitbucket account. From C9, connect to that Github or Bitbucket repo. It is then integrated into the C9 interface and from there you can use c9 to push your code into the cloud account repo.
Once your code is on Github or Bitbucket, you can then then just use those services to bring the entire code base to your local machine. First, realize that once the code is on Github or Bitbucket, you essentially now have the whole thing so that it may not be necessary to locally clone if you don't want to. And it would be safe to end the c9 account since the code will now be on Github or bitbucket (you may not want to, but you could).
To clone from either, the command line phrase (either from Mac's command line interface or a Linux command line) is $ git clone <url> <name>
. You do this from the directory where you want to create a subdirectory for your project in. The <url>
is provided to you by Github or Bitbucket (just look for the area on the screen that says clone and choose the git option -- it should be easy to find). The <name>
portion is optional but gives you an opportunity to name your project subdirectory something other than the name of cloud repository. Both GitHub and Bitbucket provide documentation for $ git clone
.
I very much encourage you to not shy away from $ git clone
. If it's new to you, then you'll appreciate having built a new and useful competency as a front-end developer and the command itself will be easy after the first time you use it. Also you can just erase the directory that the clone makes after you clone it in case you want to try again, so there is very little risk in just trying it.
Let me know if you need more and good luck!