MMOSCA

The Mija Media Open Source Contributor’s Agreement

[ VNPH Team ][ Mija Media ]



********************************************************************************
Mija Media Open Source Contributor's Agreement (MMOSCA)

This document describes the relationship between contributors to Mija Media's
open source projects ("you") and both Mija Media ("MM") and other members of the
projects ("us", "we"). This is not a legal contract, but merely describes the
relationship between you and us, and serves as a point of reference to keep us
all on the same page and moving forward in the same direction.

First of all, thank you very much for your interest and involvement in our work!
Without your participation, these would only be in-house tools that never
benefit anyone outside our personal circles. By using, testing, growing and
extending each project, you multiply the usefulness and availability of these
efforts by an order of magnitude! The whole world benefits when hackers unite.

Each of the points below are fairly intuitive, and are to be expected in any
open source project. The gist of it is this: that you be a good team player,
that you be aware of the significance of contributing your time to this project,
and that you understand how your contributions will be used.


1) Unity of Purpose and Direction
By contributing your work to our open source efforts, you yield to the judgement
of MM regarding inclusion within our projects. Alterations may be made to your
work in order to bring it in line with the project goals, including potentially
massive changes, merges with other work, and/or deletion. This isn't anything
personal! We want always to make sure each project is moving forward in the best
possible direction, and that final call is up to MM in all areas regarding all
of our projects. Perhaps you will become the person given that responsibility
one day. Whoever that person is, joining in our open source efforts means
following their lead and submitting to their final call in all project matters.
Know who your project leader is. Talk to them. Help them by making their job as
painless as possible; they carry a responsibility that requires your patience
and cooperation.

2) What Contributing Means
Contributing your time, energy, and resources to an open source project can be
a very rewarding experience. There are several ways in which this can be true:
Joining in a team development effort builds your career; conforming to project
standards sharpens your code-fu and makes you a more flexible hacker; enjoying
the contributions of others, as well as your own, gives you access to the vast
energy and creativity of the open source community; and certainly not least of
all, you get to *use* the result of all the work we pool together when we each
fire up the code we've written and put it to work in the tasks for which it has
been created. Remember, the ultimate goal of every hacker is to put the tools
they create into action. By joining forces, we achieve so much more together.
The mission we all share is to make people's lives easier--both other people's
lives and, in doing so, our own as well. Machines are the tools, and we are the
craftsmen; as we share the advances we make in our tool kits, we springboard
the advances of society for ourselves, our friends and peers, and our families.

3) What Happens to Your Contributions
The code, documentation, and all files and ideas that you share with the MM open
source projects go through several processes. First, upon inclusion in the
project, they fall under the copyright of that project. Second, the code, files,
and documentation you contribute fall under the license of that project. And
third, your work falls under the authority and judgement of the current, as well
as all future, project leader(s). For example, if you are working on a project
which is copyrighted to Mija Media, released under the MIT Open Source License,
and has documentation available under the Creative Commons License, then the
process looks like this: When your code is accepted into the project, it falls
under the project copyright to Mija Media. That same code is then licensed, in
this example, under the MIT Open Source license. The files and documentation you
submit are also under the MM copyright, and released under the Creative Commons
License being used for that project. And finally, choices are made regarding
where your code is included and what additions, changes, or removals are needed
to bring it in line with the project's purpose and direction. This approach is
why open source software works so well. You may have heard the expression, "Too
many chefs spoil the soup." The same would be true of open source software if it
were unorganized. One strength of open source software is the flexibility you
have to participate as a user, an individual developer, or a member of the main
project. While the copyright of each project prevents you from calling your own
work by the same name as that project (that would confuse everybody!), you can
always make use of your work whether or not it is accepted into the offical
release. That is why the open source community frequently (and wisely) advises
developers to write software that meets their own needs. You will never be
expected to write and/or contribute code to any MM project if it doesn't meet
your personal needs. You are your own boss and manager, and the MM project
manager's role is simply to facilitate the selection and integration of the
results of the work you choose to submit to the project. (Keep in mind that
some licenses, such as the GPL, require that all work based on projects under
that license be released back to the community under a similar license. The
take-home point is that you are not required to mount that effort to begin with,
and that once you choose to write and release/submit any code, the project is
not obligated to incorporate that work. Mija Media will always seek to choose
the most flexible license possible for any given project, usually BSD/MIT-style
which does not require you to release your work. Be sure to look at the project
you are interested in to see which license(s) it falls under.) By submitting the
code we write, we make it available to the community at the discretion of the
project manager. Your work may or may not be included in the project. Either
way, your time and efforts are never wasted if you are writing code that does
what *you* need it to do. Of course, one purpose of joining the development
team is to see your work distributed to the world in the main release. Keeping
in close communication with the project manager and other members of the team is
an excellent way of ensuring that your work has a reasonable likelihood of being
joyfully and gratefully integrated into the project.


With the above 3 points in mind, you should have a really good feel for what
you are "getting yourself into" by participating in open source development with
MM and the other team members you will be working with. We are all participating
with each other in mutual cooperation, subject to the structure outlined above.
We don't have legal, financial, or ongoing obligations to one another outside of
mutual respect and agreement to abide by the terms of this document in our work
and dealings with one another. We're all willing and voluntary servants of one
another, with a desire to bless each other and have a lot of fun in the process.

Let's use the strenghts of this approach to build one another's lives with great
software. We have the means and the structure to function well as a unit. We are
free of the pressures of the commercial development industry, and we have the
speed and flexibility to be greater than the sum of our parts.  Let's get out
there and write some code. It's time to grow!

David Christian Liedle
Papi Chulo, Mija Media
January 10, 2009

http://vnph.mijamedia.com/mmosca/


Creative Commons License Copyright © 2008–2010 Mija Media. Some rights reserved.

The MMOSCA by David Christian Liedle is licensed under the Creative Commons Attribution 3.0 United States License. Work is based at http://vnph.mijamedia.com/mmosca/.