• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Whenever you search in PBworks, Dokkio Sidebar (from the makers of PBworks) will run the same search in your Drive, Dropbox, OneDrive, Gmail, and Slack. Now you can find what you're looking for wherever it lives. Try Dokkio Sidebar for free.



Page history last edited by PBworks 14 years, 8 months ago

Squeak Relicense Party


NOTE: This is a DRAFT.

Stuff in boxes is a comment


The real-time status of the Kernel Relicensing effort is tracked on Mantis


We need your help to get the kernel relicensed. Pavel has audited the Kernel and determined what work needs to be done. Now we need your help to get it done.


How to help

  1. Subscribe to the release team mailing list to stay connected with the other release volunteers
  2. Get at least one of the two images we will be using as the basis for Squeak 4.0:
    1. MorphicExt.image, from the current Kernel Image Pack
    2. Squeak 3.10 final
  3. Create an account on Mantis
  4. Choose how you want to help. The process is described in Pavel's email. Do you want to:
    1. write tests and documentation? Or would you rather
    2. rewrite code?


Instructions for Writers

  1. Choose one of the red or magenta reports (with status = "new" or "feedback") from those listed on the tracker page
  • Next, download the two files in that report:
    • "KernelRelicense.bundle-XX.apache-MYYYY.1.cs": is the old, but cleanly Apache-licensed code from Squeak 1.1
    • "KernelRelicense.bundle-XX.squeakl-MYYYY.1.cs": is the latest, problematically-licensed code from the 3.10 and MorphicExt images.
  • Compare the old Apache code to the new Squeak-L code and try to describe what the new code does that the old code does not
    • Add notes to the issue describing what the new method does
    • Write tests that describe the expected behavior of the new code, and upload it as .cs files
    • Alternatively, some of the code may be removable; if that is the case, say so
  • When you think that you are ready for a coder to come begin rewriting methods, we will change the report status to "confirmed"


Instructions for Coders

IMPORTANT!!! It is CRITICAL that you have not seen the current version of the methods you choose to rewrite. This also means that you MAY NOT be both a writer and a coder for the same bundle of methods. You may ONLY look at the Squeak 1.1 version of the method (if it exists) and the tests/specs which writers have made for you. If you are not careful, your relicense efforts will not be valid. Please be careful.

Should there be any mention of signing something? Something like: "Please treat this seriously, as if you had signed a paper"

  1. Ask Ken Causey to give you developer priviledges on Mantis, so that you can assign entries to yourself and edit issue status. You can either:
    1. send him an email: ken@kencausey.com, or,
    2. ask him on the #squeak IRC channel. His nick there is kencausey
    3. ask him on Skype. His username there is kencausey
  2. Choose one of the yellow reports (with status = "confirmed") from those listed on the tracker page. Go to the report and assign the report to yourself. The report status should now be "assigned"
  3. File-in the current, Squeak-L version of the code, "XXXX-KernelRelicense-bundle-YY.squeakl.Z.cs". This will give you a change-set you can later file-out as the cleanly-licensed code.
  4. Open up the old, Apache change-set where you can see it. A change-list browser works good.

A possible addition:

If this were not kernel code, the recommendation would be to load the latest cleanly-licensed code, but, this being the kernel, that would likely break important things

  1. For each method you want to rewrite:
    1. Go to the method in the System Browser and IMMEDIATELY erase the code in the code pane
    2. Copy the apache version into the browser and save, if it is safe.
    3. Use the tests, comments, and Apache code to implement the proper functionality.
  2. When you are finished, open a change-set browser on the Squeak-L changeset (KernelRelicense.bundle-XX.squeakl-MYYYY.1), and change the license to mit (KernelRelicense.bundle-XX.mit-MYYYY.1).
  3. If you did not rewrite all of the methods, please delete them from the changeset and make a note of this in your mantis upload comment. Please to not include any Squeak-L code in a file named to indicate a license of MIT.
  4. When you finish, change the report status to "resolved"

Comments (0)

You don't have permission to comment on this page.