<div dir="ltr">Hi,<div><br>a great topic.<br>I would suggest developing Cycles alone with its own branches, and merging this into Blender.<br>this will help in the future to Cycles Standalone, also porting it will be steady as Cycles will be the main pivot, at moment Blender is the main pivot.<br>about versions, as DingTo said: 0.1 per Blender release sounds reasonable &quot;assuming blender goes 10 releases every about 20 months (if I&#39;m not wrong), this makes a good version step&quot;.<br>version 1.0 looks young too, Cycles is production ready from long ago, though it got many parts that needs pushing, but the stable parts are already proven for production.<br><br>cheers,<br>Mohamed Sakr</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 28, 2016 at 10:29 PM, Thomas Dinges <span dir="ltr">&lt;<a href="mailto:blender@dingto.org" target="_blank">blender@dingto.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    that is an interesting topic. <br>
    <br>
    My opinion here is, that we should have our own independent release
    schedule and version scheme for Cycles. <br>
    I might be wrong, but it already happened, that we didn&#39;t really add
    new stuff to Cycles for a bit and focused on other Blender related
    things. Why wait for Blender to do a RC / Release, if we feel that
    the Cycles side is stable already and justifies a new release? <br>
    <br>
    I would basically go with your suggestion of &quot;Have release branches&quot;
    but stay independent of Blender here. In other words, we can create
    a branch at the same time Blender or do it in between at any other
    time, if we feel like it. <br>
    <br>
    As for the versioning scheme, I always imagined it like taking a 0.1
    step per Blender release. <br>
    Blender 2.61 = Cycles 0.1<br>
    Blender 2.71 = Cycles 1.1<br>
    Blender 2.77 = Cycles 1.7<br>
    <br>
    Anyway I would be fine either way, whether the first Cycles release
    will be 1.0 or e.g. 1.7, even though I think that 1.0 sounds a bit
    too young, the engine is certainly beyond that. :) <br>
    <br>
    Best regards,<br>
    Thomas<div><div class="h5"><br>
    <br>
    <br>
    <div>Am 28.03.2016 um 19:10 schrieb Sergey
      Sharybin:<br>
    </div>
    </div></div><blockquote type="cite"><div><div class="h5">
      <div dir="ltr">Hey,
        <div><br>
        </div>
        <div>= Preamble =</div>
        <div><br>
        </div>
        <div>Some time ago we had IRC discussion with Nathan about
          tagging Cycles&#39;s repository once Blender gets a new release.
          At that time as i understood main reasoning was to make it
          real clear which revisions of Cycles repository are considered
          stable and which could cause you a troubles due to WIP
          features.</div>
        <div><br>
        </div>
        <div>= Issues =</div>
        <div><br>
        </div>
        <div>While it&#39;s all legit idea and something we should
          definitely have, it&#39;s a bit more tricky in implementation
          since the following reasons:</div>
        <div><br>
        </div>
        <div>1. Code freeze periods</div>
        <div>2. Need tag name convention</div>
        <div><br>
        </div>
        <div>First issue is coming from the fact that in Blender we&#39;re
          doing a release branch at the RC time. There&#39;s no new features
          committed to that branch (only bug fixes), but non-intrusive
          work continues on master branch after Blender RC1 is out.</div>
        <div><br>
        </div>
        <div>In Cycles we&#39;ve got a single branch, which with current
          situation will mean we wouldn&#39;t be able to synchronize any of
          the new code from Blender to Cycles during the RC period of
          Blender (which could be 3-4 weeks easily). That&#39;s something to
          be avoid in fact.</div>
        <div><br>
        </div>
        <div>Second issue is more a convention. We would just need to
          agree on version system. I just don&#39;t feel like using
          Blender&#39;s versions for Cycles -- while releases can totally be
          synchronized, to me it makes more sense to have own versions
          for Cycles.</div>
        <div><br>
        </div>
        <div>= Ideas =</div>
        <div><br>
        </div>
        <div>Looking on all that here are couple of ideas how we can
          move forward.</div>
        <div><br>
        </div>
        <div>== New branch: devel ==</div>
        <div><br>
        </div>
        <div>The idea is simple: we move all on-going development in
          Cycles&#39;s standalone repository to a new branch called `devel`.
          Technically it&#39;ll mean we&#39;ll synchronize commits from Blender
          NOT to master but to devel branch.</div>
        <div><br>
        </div>
        <div>Once Blender is released we&#39;ll fast-forward devel branch to
          master.</div>
        <div><br>
        </div>
        <div>As simple as that. That would solve requirement of
          distinguishing stable Cycles from ongoing development one.
          Additionally, we&#39;ll be able to tag master branch with
          annotated release tags. Read about that in next ideas.</div>
        <div><br>
        </div>
        <div>== Have release branches ==</div>
        <div><br>
        </div>
        <div>Other idea is to follow Blender&#39;s release process and keep
          all development happening in Cycles standalone in the master
          branch and once Blender get&#39;s RC branch we create same thing
          in Cycles. All crucial bugfixes will be cherry-picked to that
          branch and when blender releases we&#39;ll tag the branch in
          standalone repository and delete the branch (so we&#39;ll leave
          with just tags).</div>
        <div><br>
        </div>
        <div>== Tagging / versions ==</div>
        <div><br>
        </div>
        <div>Here i propose to consider first tag 1.0, and next releases
          will be 1.1, 1.2 ... and so on, for until we do some major
          re-consideration in Cycles (going bi-dir?) which would start
          2.0 version.</div>
        <div><br>
        </div>
        <div>I personal opinion that&#39;d be natural for external users /
          developers of Cycles.</div>
        <div><br>
        </div>
        <div>= Comments? +<br>
        </div>
        <div><br>
        </div>
        <div>Now, i&#39;m wondering what other both Cycles core developers
          and external developers who integrates Cycles in other
          software think of how we should process. Maybe i&#39;m all wrong,
          thinking too much or maybe you guys will like one of the ideas
          here.</div>
        <div><br>
        </div>
        <div>Let&#39;s have a bit of communication/discussion here before
          changing the way we operate with standalone Cycles repo!</div>
        <div><br>
        </div>
        <div>P.S. Sorry for the lengthy mail..</div>
        <div><br>
        </div>
        <div>-- <br>
          <div>
            <div><span style="color:rgb(102,102,102)">With best regards,
                Sergey Sharybin</span></div>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
Bf-cycles mailing list
<a href="mailto:Bf-cycles@blender.org" target="_blank">Bf-cycles@blender.org</a>
<a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
Bf-cycles mailing list<br>
<a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-cycles" rel="noreferrer" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
<br></blockquote></div><br></div>