22

Now that Emacs is maintained in a git repository (AFAIK), this opens the door (at least for me) to intelligently explore Emacs as a F/OSS project to contribute to :)

Trouble is, I have no idea how to start doing so. CONTRIBUTING instructs the developer to mail emacs-devel, but there are surely steps that are common to all contributors.

Sean Allred
  • 6,861
  • 16
  • 85
  • 5
    Have you seen the page [Welcome, New Emacs Developers](http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/) by Lars Ingebrigtsen? (I'm no expert, so I'm not going to try to make an answer out of this.) – Constantine Dec 07 '14 at 20:03
  • 1
    @Constantine I haven't read the article. To be honest, I'm still laughing at the first quote. XD – Sean Allred Dec 07 '14 at 20:05
  • 5
    This is being hotly/harshly discussed in emacs-devel as we speak. Hopefully we'll have a better answer soon. – Stefan Dec 07 '14 at 20:51
  • 2
    It never hurts to propose to emacs-devel some work that you would like to do. And it never hurts to fix reported bugs. But I guess your question is more about the mechanics of making changes rather than how to go about getting agreement for a proposed change. – Drew Dec 07 '14 at 21:09
  • 1
    @Drew It is indeed. There are certainly other areas to touch on, but these are some I can think of right now: code style, proposing changes (PR workflow?), contacts/resources for legal shtuff (I understand that definitive information can't be given here), and links to other resources (any emacs-particular design philosophies, etc.) – Sean Allred Dec 07 '14 at 22:54
  • 1
    AFAIK, the *biggest* hurdle is the legal stuff. (That's why I'll most probably *never* contribute *anything* to Emacs, which might be a pity - I'd love to contribute to the manual, since I like writing, tinkering and reading technical stuff a lot. Incidentally, contributing to the manual seems to be currently kind of a hot topic.) – mbork Dec 07 '14 at 23:53
  • 1
    Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/19272/discussion-between-sean-allred-and-mbork). – Sean Allred Dec 08 '14 at 02:54

1 Answers1

16

There are no steps that you need to take yourself prior to actually contributing. Just go ahead and start. Pick a bug, or a feature, that you'd like to have implemented, and do it. If you go for a larger feature, it's a good idea to ask emacs-devel first, though, since there might be objections to your intended design or interface, and you better collect feedback before writing a thousand lines of code :)

If you are done, or if you are at a point where you'd like some feedback about your changes, mail a patch to the bug report (if there is one), or to emacs-devel.

If it's your first contribution below the cumulative 15 line limit, and if there are no technical objections, you'll find your change merged quite fast. Emacs lacks man-power, and is glad for any contribution it gets. I got my first simple patch merged within a day.

If you are over the 15 line limit, you'll be asked for copyright assignments. There is nothing that you need to do in advance, though: You'll be guided through the process. Note that copyright assignments are mandatory: If you refuse to sign, you are barred from contributing to Emacs. Even if your patch is technically perfect, it won't be merged for legal and political reasons. Hence, I never contributed a second patch: I don't want to sign any assignment.

If you have signed one, and completed the process, you can however just continue to contribute as before, and at some point, if you make continuous contributions to Emacs, you'll eventually be given write access to the repository.