[swift-dev] Pathway to becoming an effective contributor

Halen Wooten swift at hpwooten.com
Tue Jul 11 16:08:28 CDT 2017

Hi folks,

Here are a summary of what we've discussed and my proposal for a next step:

## Compiler tips
- The LLVM infrastructure docs are valid for Swift as well, and this
includes LIT testing. Reading over those will help with understanding
the Swift codebase.
- You can invoke lit directly for rapid testing during development.
- If you don't see a starter bug in an area of the compiler that
interests you, email this mailing list to ask if there are any unfiled
bugs available.
- ./docs/DebuggingTheCompiler.rst contains debugging information
- Release builds of the compiler will build the standard library more
quickly, which can help reduce development time.

## Proposal
### Motivation
Right now, there are at least three places that have information about
contributing to Swift. The largest of these is
https://swift.org/contributing/ , which discusses contributions to the
project overall, and not compiler specifics (which is probably the
right call). We also have the near-empty CONTRIBUTING.md and a small
section at the end of the readme.

### Action Item
I propose that we consolidate the above tips and links for swift
compiler resources (like the previously mentioned testing guide) into
CONTRIBUTING.md and link to that from the README. This will serve as
the definitive guide for new contributors to get up to speed. Does
that sound reasonable? (And if so, should this be a jira ticket?)



On Thu, Jun 22, 2017 at 8:45 PM, Halen Wooten <swift at hpwooten.com> wrote:
> This thread is a wonderful collection of information. I'm going to be
> away from my computer for a few days, but I'm going to review all of
> this and make a list of next action steps that we can take.
> Thanks for all the insight!
> On Thu, Jun 22, 2017 at 12:57 PM, Michael Gottesman
> <mgottesman at apple.com> wrote:
>>> On Jun 20, 2017, at 12:37 PM, Halen Wooten via swift-dev <swift-dev at swift.org> wrote:
>>> Hi,
>>> I would like to start a discussion about getting started with the
>>> Swift Compiler. The end goal is to see if there are ways we can help
>>> newcomers to the compiler get started and more quickly grow into a
>>> more effective contributor. The motivation is that I've had a
>>> surprising amount of trouble with my starter bug. Swift is amazing and
>>> I would love to contribute more regularly, but I also don't want to
>>> burden the core team.
>>> I know that documentation on a huge project like this is a
>>> non-starter, but I wonder if we could have better information on the
>>> contribution process, which likely wouldn't change frequently. For
>>> example, I learned through a conference talk that Swift uses LLVM's
>>> lit testing. I couldn't find that in any of Swift's documentation. The
>>> docs explain how to run tests, but not how to write them. I would be
>>> happy to help out with documentation if we can decide on changes that
>>> would be useful.
>>> Also, after I'm able to get my starter bug merged, I have no idea
>>> where to go from there. I don't want to take another starter bug and
>>> deprive someone else of the opportunity to contribute (although maybe
>>> that's an unnecessary restriction I'm placing on myself), but I'm also
>>> not in a place where I could take on something much larger.
>> I would like to echo what Adrian/Greg have said. There is always more work to be done, so I wouldn't worry about this. But I just wanted to add, if there is an area of the compiler that interests you and there are not open starter bugs in that area, it may just be because no one has taken the time to file one. In such a case, I would just send an email to this list and ask what other things need to be fixed in this area of the compiler. We will be more than happy to guide you [that is how open source /should/ work, after all = )].
>> Michael
>>> The learning curve for a compiler is always going to be high, but does
>>> anyone have ideas on how we could assist newcomers with their first
>>> starter bug and then transitioning into something larger?
>>> Thanks,
>>> Halen
>>> _______________________________________________
>>> swift-dev mailing list
>>> swift-dev at swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-dev

More information about the swift-dev mailing list