<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 20, 2017, at 12:37 PM, Halen Wooten via swift-dev &lt;<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi,<br class=""><br class="">I would like to start a discussion about getting started with the<br class="">Swift Compiler. The end goal is to see if there are ways we can help<br class="">newcomers to the compiler get started and more quickly grow into a<br class="">more effective contributor. The motivation is that I've had a<br class="">surprising amount of trouble with my starter bug. Swift is amazing and<br class="">I would love to contribute more regularly, but I also don't want to<br class="">burden the core team.<br class=""><br class="">I know that documentation on a huge project like this is a<br class="">non-starter, but I wonder if we could have better information on the<br class="">contribution process, which likely wouldn't change frequently. For<br class="">example, I learned through a conference talk that Swift uses LLVM's<br class="">lit testing. I couldn't find that in any of Swift's documentation. The<br class="">docs explain how to run tests, but not how to write them. I would be<br class="">happy to help out with documentation if we can decide on changes that<br class="">would be useful.<br class=""><br class="">The learning curve for a compiler is always going to be high, but does<br class="">anyone have ideas on how we could assist newcomers with their first<br class="">starter bug and then transitioning into something larger?</div></div></blockquote><br class=""></div><div>Improving documentation for new developers is a great project. We have some information at <a href="http://swift.org/contributing" class="">swift.org/contributing</a>, but it is unbalanced. (For example it has detailed specifications about the format of commit messages, but next to nothing about writing and running tests.)</div><div><br class=""></div><div>You might start by writing down the various topics that you yourself wished had been gathered in one place. As a recent new contributor you will have the best insight into what is currently lacking from that perspective. For example, we do have test documentation (as you found later), but your experience shows that the documentation is not sufficiently discoverable.</div><div><br class=""></div><div><br class=""></div><div><blockquote type="cite" class="">Also, after I'm able to get my starter bug merged, I have no idea<br class="">where to go from there. I don't want to take another starter bug and<br class="">deprive someone else of the opportunity to contribute (although maybe<br class="">that's an unnecessary restriction I'm placing on myself), but I'm also<br class="">not in a place where I could take on something much larger.<br class=""></blockquote></div><br class=""><div class="">Don't worry about that. Starter bugs are unlikely to be a scarce resource. If too many starter bugs get fixed then we will (1) celebrate, and then (2) find some more bugs that are good starter candidates.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">--&nbsp;</div><div class="">Greg Parker &nbsp; &nbsp; <a href="mailto:gparker@apple.com" class="">gparker@apple.com</a>&nbsp; &nbsp; &nbsp;Runtime Wrangler</div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>