Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new CONTRIBUTING.md #103

Open
wants to merge 2 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Contributing Guide for Inform Extensions

Thank you for investing your time in contributing to our project!

Please be respectful of others.

# Extension location

Create your extensions inside a subdirectory with your full name.
Subdirectories are generally named "Firstnamex Lastname";
notice the space.
you can use middle name or middle initial, but don't include a period
after an initial (that will be interpreted as a full stop).

# Extension template

When creating an extension for this collection use a template like this:

~~~~
Version 1.0.0 of MyExtensionName by MyFirstName LastName begins here.
"Your description here."

[ Released under the terms of the
Creative Commons Attribution 4.0 International (CC-BY-4.0) license.
See https://creativecommons.org/licenses/by/4.0/ for license details.

SPDX-License-Identifier: CC-BY-4.0

Copyright (C) MyFirstName MyLastName and MyExtensionName project contributors.]

... (code here)

MyExtensionName ends here.

---- DOCUMENTATION ----

,,, (documentation)

Example: * MyExampleName - MyExtensionName

"MyExampleName" by MyFirstName MyLastName.

Include MyExtensionName by MyFirstName MyLastName.

... example code

Test me with "...".
~~~~

Again, MyFirstName MyLastName can have names and initials in the middle,
but don't include a terminating period.

Make sure you include a URL to the full license text.
The `SPDX-License-Identifier` provides a simple machine-readable format
for a SPDX license expression;
see the [SPDX License List](https://spdx.org/licenses/) for more information.

There should be a copyright statement, but don't
include the years or try to provide a complete list of contributor names.
This goes quickly out of date.
See [Copyright Notices in Open Source Software Projects](https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/)
from the Linux Foundation for more information.

You can release an extension under multiple licenses
(and allow potential users to use any of them).
For example, to allow users to use either the
Creative Commons Attribution 4.0 International license, the
Artistic License 2.0, *or* the MIT license,
use this as the "Released by..." and SPDX-License-Identifier text:

> Released under the terms of the
> Creative Commons Attribution 4.0 International (CC-BY-4.0) license.
> See https://creativecommons.org/licenses/by/4.0/ for license details.
> You may also use this under the terms of the Artistic License.
> See https://opensource.org/licenses/Artistic-2.0 for license details.
> You may also use this under the terms of the MIT license.
> See https://opensource.org/licenses/MIT for license details.
>
> SPDX-License-Identifier: CC-BY-4.0 OR Artistic-2.0 OR MIT

# Branches

Inform changes over time, so extensions that work in one version
might not work in another.

We have branches named for each major release of Inform.
Extensions that work with that release should be included in each
branch the extension works with.
That *does* mean that if you're updating an extension, you may need
to update it in multiple branches (one for each release).
27 changes: 22 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@ The Friends of Inform 7 extensions group

Here you'll find many Inform 7 extensions -- some are ready for public use, others are barely working experiments. Enjoy!

The full list of extensions is visible here: https://i7.github.io/extensions/
The full list of extensions is visible here: <https://i7.github.io/extensions/>

If you would access to the repository to add your own extensions, please ask here: http://www.intfiction.org/forum/viewtopic.php?f=7&t=5229

It may help to know that the I7 Public Library of extensions (integrated with the 6L38 IDE) can be found at:
http://www.emshort.com/pl/payloads/
Inform (aka Inform 7) is a programming language used for interactive fiction and other creative purposes. For user documentation, and downloads of the apps, go to the Inform home page at: <http://www.inform7.com>.

If you find a bug in any of these extensions, or indeed in any Inform 7 extension at all, please make a new issue and we may be able to help. The purpose of the group is that we can all work together to maintain and develop these extensions. Sharing the load will make it easier on us all, while experienced programmers can help those just starting out.

Expand Down Expand Up @@ -36,3 +33,23 @@ How to download *all* the extensions
7. To update in the future, you can either update the extensions one-by-one as above or you can download a fresh zip and install the whole thing over the top.

(Alternatively, if you're familiar with Git then you can use a Git clone in place of downloading the zip, if you prefer.)

How to contribute your own extensions
-------------------------------------

If you want to contribute your own extension,
[create a pull request](https://github.com/i7/extensions/pulls).

If you would access to the repository to add your own extensions, please ask here: <http://www.intfiction.org/forum/viewtopic.php?f=7&t=5229>

See [CONTRIBUTING.md](./CONTRIBUTING.md) for more information on
how to create a contribution.

Related sites
-------------

The main repository for Inform (Inform 7) itself is:
<https://github.com/ganelson/inform>.

It may help to know that the I7 Public Library of extensions (integrated with the 6L38 IDE) can be found at:
http://www.emshort.com/pl/payloads/