title: Why are only certain composer packages stored in cache and not all?
body: <p>I'm running ubuntu 14.04 and noticed that when I run <code>composer.phar update</code> for packages having dependency for vendors like <code>google</code>, <code>doctrine</code>, <code>twig</code>, etc. it stores its downloaded files in my local <code>~/.composer/cache/files/vendor</code>. However, when I created a <a href="https://packagist.org/packages/prahladyeri/indiegogo" rel="nofollow">library package</a> myself, and "required" it in another test package, it did not download these in the <code>/cache/files/</code> folder (but did add entries to <code>/repo/https---packagist.org/*.json</code> files).</p>
  
  <p>I would like to know under what circumstances does composer.phar download the files and stores in cache? I'm asking this because I'm going to build a lot of apps in future including components like doctrine, symfony and zend frameworks and I don't want <code>composer.phar</code> to waste internet bandwidth by downloading a copy of each of these frameworks again and again for each app.  Of course, another advantage is that in case I decide to switch ubuntu and move on to some other distro, I don't want to download a ton of composer packages all over again.</p>
  
  <p>My personal guess is that since I haven't tagged my lib package in the github repo (it is still <code>dev-master</code>) it is not storing in cache. Can someone confirm that please?</p>
  
  <hr>
  
  <p>1.composer.json <code>require</code> section of app having dependency on <code>google/apiclient</code>:</p>
  
  <pre><code>"require": {
      "google/apiclient": "1.*.*"
  }
  </code></pre>
  
  <p>2.composer.json <code>require</code> section of app having dependency on <code>prahladyeri/indiegogo</code>:</p>
  
  <pre><code>"require": {
      "prahladyeri/indiegogo": "dev-master"
  },
  "license": "MIT",
  "minimum-stability": "dev"
  </code></pre>