summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
blob: 0771e6a6e64f8e09a7b9c9689a572ffd420f8b26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Contributor guidelines

Thanks for your interest in contributing to Megapahit! This document
summarizes some of the most important points for people looking to contribute
to the project especially those looking to provide bug reports and code
changes.

## Table of contents

- [Communication](#communication)
- [What to work on](#what-to-work-on)
- [Reporting bugs and requesting features](#reporting-bugs-and-requesting-features)
- [Contributing pull requests](#contributing-pull-requests)

## Communication

Megapahit has multiple channels for communication. Some of these channels are
more end-user focused, while others are more tailored for
developer-to-developer or support.

- [Bugzilla][] is Megapahit's primary community engagement
  forum. Ideas and bug reports should be placed here unless they relate to
  ongoing development issues and developer-to-developer communication.
- [IRC][] is publishing updates on a regular basis, including those for
  announcing Git commit logs, nightly build URLs and more.
- [Github issues][] provide a means for staff to organize their
  work and collaborate with other developers. By default most user-facing
  discussions should happen on [Bugzilla][] so that they are
  visible to more people, can build consensus, and be placed onto our public
  roadmap. Github issues are useful for collaboration between viewer forks
  and the official upstream and when engineering-specific and technical
  collaboration is beneficial. 
- The [in-world group][] exists for many topics including content creation,
  scripting, social topics and more, and are useful for announcements and
  discussion between viewer maintainers. 
- Our [Discord][] is available for real-time discussion.

## What to work on

If you're looking for ways to contribute code, here are some ways to get involved:

- Explore existing issues on the [GitHub issue tracker](https://github.com/secondlife/viewer/issues) to find known problems, bugs, or enhancement discussions.
- File new issues if you’ve discovered a bug or have a specific idea to propose. If your idea is user-facing, consider submitting it through feedback.secondlife.com so it can reach a broader audience and be prioritized by Linden Lab staff.
- Look for the [help wanted](https://github.com/secondlife/viewer/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22help%20wanted%22) label. These are tasks the core maintainers have specifically identified as good candidates for community help.
- Talk to maintainers before starting significant work. Even if an issue exists, discussing your approach first ensures alignment with ongoing efforts and increases the likelihood your pull request will be accepted.

Collaboration is essential. We encourage contributors to work closely with the Second Life engineering team and other developers to keep work consistent and maintainable.

## Reporting bugs and requesting features

Report bugs and provide ideas for features using the respective board on Megapahit's
feedback portal:

- [Viewer bugs and features](https://megapahit.com/enter_bug.cgi?product=Viewer)

Creating posts on Bugzilla is important as it allows the greatest
exposure and input from Second Life users. It also allows Megapahit staff to
place work on a single public roadmap.

Issues created on Github or Discord are imported onto Bugzilla after they
have been reviewed by staff and accepted. 

## Contributing pull requests

If you wish to contribute a new pull request, please ensure that:

- You talk to other developers about how best to implement the work.
- The functionality is desired. Be sure to talk to users and Megapahit staff to ensure
  the work is a good idea and will be accepted.
- The work is high quality and the PR follows [PR etiquette][]
- You have tested the work locally

The [Git Style Guide](https://github.com/agis/git-style-guide) is also a good
reference for best git practices.

[Bugzilla]: https://megapahit.com
[IRC]: irc://megapahit.net/#viewer
[PR etiquette]: https://gist.github.com/mikepea/863f63d6e37281e329f8
[Github issues]: https://github.com/megapahit/viewer/issues
[in-world group]: https://world.secondlife.com/group/1142646c-5fb2-162c-ecf8-c5e422ab5c6d
[Discord]: https://discord.gg/jpt33HPVEK