The Frege Organization

Ingo Wechsung edited this page Nov 17, 2015 · 3 revisions

This article discusses administrative issues of the (GitHub) Frege Organization.

Goals and Basic Principles

The Frege Organization is a loose association with the goal to develop, maintain and promote the Frege Programming Language, which is an implementation of Haskell on the Java Virtual Machine.

The Frege Organization currently exists in the form of a GitHub organization, which owns a number of source code repositories. It consists of owners, members and (possibly anonymous) contributors.

The Frege Organization is open to everyone who shares the aforementioned goals or is willing to contribute to them.


Everything in the frege subproject (aka core) is subject to the BSD 3 clause license.

What about the other sub-projects? Should we make BSD-3 mandatory there also?

Non-member contributions

Contributors start out submitting pull requests from their own forked repositories. In so doing, the contributor agrees that the license of the sub-project in question applies to the submitted code.

The contributor may add its name to the list of contributors in the changed source files. If such a list does not exist, it may be created in the form of a comment near the top of the file. The list of contributors in Frege source code must not be a documentation comment. In no event is it allowed to remove names from the list of contributors.

For a contribution to be accepted, the contributor does not need to disclose its identity.

Member rights and responsibilities

Members can

  • create branches on Frege repositories and submit pull requests directly.
  • be responsible for some sub-project, where they have administrative rights.
  • decide on membership of contributors

How to become a member

Any person with a Github account that discloses its full name may ask for membership in the Frege organization by posting his application to the (yet to establish) news group.

Maybe it is better to use something that can be done without leaving GitHub, as not everyone has a Google account?

Already established members decide the case by voting for or against within one weeks time. It is expected that the individual decisions are based on the history of the applicants contributions only. Membership is granted if there is a simple majority in favor and no owner voted against it. That is, owners have the right of veto.

A person can become a member also through invitation by an owner.

There shall be no limit on the number of active members.

Termination of Membership

Membership ends automatically one year after the last contribution, as indicated by the GitHub software.

If it is brought to the attention of some owner that a member uses a fake name in its Github account, the case will be validated. If it turns out to be true, the member will be asked to fix the account. If the member refuses to disclose its identity, membership is terminated immediately.

Membership can also be terminated on decision of the Owner's Panel. Such exclusions shall be the last remedy to contain a perceived anti-social or anti-civilisatory behaviour on behalf of that member, especially in the case that it has the potential to harm the Frege organization, its owners or other members.

For example, in Germany, spreading of national-socialist propaganda is a punishable crime. Now suppose that some member has a habit of doc-commenting his source code with citations of Goebbels, or some such. Then, for example Ingo would be punishable in Germany for uploading a fregec.jar containing that code and would be in danger of going to jail. Hence the need for countering such misbehaviour. By extension, everything published on behalf of the Frege Organization must not contain controversial issues from the field of politics, religion or other ideologies, no matter whether "progressive" or "reactionary".

Owner rights and responsibilities

The term "owner" is taken over from the GitHub terminology and indicates ownership for the Github Frege organization, not ownership of the Frege code.

Owners have the right of veto on new members. They can also invite new members, subject only to the decision to the contrary of the Owner's Panel. They have write access to all repositories and can create new ones. Every owner has one vote in the Owner's Panel.

Owners are expected to be good stewards of the community, and outstanding promoters of or contributors to the Frege project.

Owners can step back any time without anyone's consent.

A member can be promoted to an owner on decision of the Owner's Panel. The number of owners shall be small in comparision to the number of members.

Owner's Panel

The Owner's Panel decides on organizational and administrative issues. All decisions are based on the votes of all owners. Only if the votes of some of the owners could not be acquired after some reasonable amount of time are they counted as missing.

Decisions generally require a majority of at least 2/3 of the votes, not counting the missing ones. (Note that "undecided" votes are effectively saying "no" this way.)

Issues to decide include:

  • Changes to the rules (i.e. this article)
  • Promotion of members to owners
  • Exclusions of members
  • Exclusion of owners
  • Hosting of applications, code and libraries

Owner exclusion

Exclusion of a person from the ranks of the owners requires agreement among all owners except for the one that is to be excluded. There must be severe reasons for this, like repeated refusal to vote, or mis-application of the privileges to the disadvantage of the Frege project.

Owner's Panel decisions

The votings of the Owner's Panel are conducted in secrecy (i.e. e-Mail). Disclosure of how some owner voted on some issue to non-owners shall count as a severe breach of trust and be a valid reason for exclusion.

Only after the Owner's Panel arrives at some decisions, it is to be published (in a special Wiki article?), again without mentioning details on the votes.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.