| | 1 | Encouraging more OS contributions to WebKit |
| | 2 | |
| | 3 | Problems: Why aren't we getting contributions: |
| | 4 | * Perception that blink/Chromium has better web developer tools |
| | 5 | * Fuzzy feeling that they have momentum and companies behind them. |
| | 6 | * Perhaps this is a separate issue. WebKit used to have a thriving open source |
| | 7 | community without Google's involvement. |
| | 8 | * The build takes too long. You need really powerful hardware to work on WebKit. |
| | 9 | * You cannot build iOS WebKit and put it on your phone. Only available to |
| | 10 | Apple developers. |
| | 11 | * No touch events in iOS in the open source WebKit. |
| | 12 | * Long and annoying review process, need to find a reviewer. |
| | 13 | * Documentation is scattered across places. Lack of clarity on which kinds to tests |
| | 14 | write. Testing page needs a lot of love. |
| | 15 | * Lots of different kinds of tests with not a lot of documentation. |
| | 16 | * The easiest way to contribute is to own a Mac. Many software engineers don't own a Mac. |
| | 17 | * The relative size of the community. People will contribute to the browser |
| | 18 | they use day to day. |
| | 19 | * Perception of relevance since the blink fork and compared to Firefox. |
| | 20 | * Not knowing when your patch will be released to the world, because of the |
| | 21 | way that releases of Safari work. The fruits of labor are opaque. |
| | 22 | * Bugzilla is too full of useless clutter. It's hard to tell if a bug is a duplicate |
| | 23 | or not. Not concept of component ownership in Bugzilla and the list of components |
| | 24 | is outdated. Bugzilla is confusing and difficult to use. |
| | 25 | * The EasyToFix keyword is unknown. |
| | 26 | * You need a bugzilla account to file bugs. We can't just give people a link to |
| | 27 | follow bugs even with a bug report page. Although making it too easy to file bugs |
| | 28 | could decrease the signal to noise ratio. Requiring high quality bugs can mean |
| | 29 | that people won't even bother to file a bug. |
| | 30 | * WebKit has less evangelism than other browsers. Encouraging people to file bugs |
| | 31 | has resulted in good bugs in the past. |
| | 32 | * Why doesn't that happen more? |
| | 33 | * That's what this session is about. |
| | 34 | * Having a landing page can be a good combination with more evangelism. |
| | 35 | * People don't have time always to file a bug report or make test cases, because |
| | 36 | they are trying to ship. |
| | 37 | * Checkout size is really big! The clone is like 5GB. This is really hard for |
| | 38 | more remote contributors. Maybe a shallow clone or splitting the repository. |
| | 39 | * Just checking out parts of the repository and making them build-able separately. |
| | 40 | * Check out size is an issue for contributors in foreign countries. |
| | 41 | |
| | 42 | What would some good examples of open source contribution? Can we make that happen again. |
| | 43 | We need to discriminate between good contributions and ones that aren't good. |
| | 44 | * Lots of bugs are filed through twitter and stack overflow. People prefer to publicly |
| | 45 | shame and feel it gets more results. It's lower friction. |
| | 46 | * Yusuke working on ES6. |
| | 47 | * Contributions to internationalization specification. Interested in a feature |
| | 48 | that they used. |
| | 49 | * Peavo at outlook.com, video and hidpi working on Windows. |
| | 50 | * GNOME developers working on the upstream dependency of the GNOME web browser. |
| | 51 | * Negative press on IndexedDB resulted in patches being submitted. Followup to |
| | 52 | angry blog posts. |
| | 53 | * Both of these cases the contributors had counterparts who were experienced |
| | 54 | developers to guide them. |
| | 55 | |
| | 56 | Thing that can OS contributions |
| | 57 | * Servo has a list of easy bugs to fix. |
| | 58 | * A guide to solve a bug from start to finish. |
| | 59 | * Github integration: makes it easier to file bugs, but requires two way integration. |
| | 60 | * Partnering with new contributors. Contacting the jond when there is a promising |
| | 61 | new contributor. |
| | 62 | * How do mentors find new contributors? |
| | 63 | - Getting CCd on patches that get uploaded via watchlists or Alexey |
| | 64 | CCs you. |
| | 65 | * How do we work with them? |
| | 66 | - Developers need to be on the lookout. This takes a lot of time |
| | 67 | though and often you have to write the code yourself. |
| | 68 | - We need to spread the reviews around, because reviewing open source |
| | 69 | contributions take a lot of time. |
| | 70 | |
| | 71 | * Prioritize reviews from new contributors. Add a dashboard to show new bugs or |
| | 72 | pending reviews. Show new patches on IRC. |
| | 73 | * Notifications when patches are uploaded into certain directories, sort of |
| | 74 | like Blink directories. In GNOME you can follow components by following the |
| | 75 | email alias that is per-component. We need to improve list of components and versions. |
| | 76 | * More blogging. |
| | 77 | * A page that describes the process of writing a patch and testing it for different |
| | 78 | components. We have this already for web inspector, but we don't have it for |
| | 79 | other components. It just needs to describe the test-build cycle. |
| | 80 | * Maybe the nightly build could become build + source - layout tests, so that people |
| | 81 | could start hacking on the nightly or build bot artifacts without needing to fetch |
| | 82 | all of WebKit. |
| | 83 | * Technical issues with this. Some of the paths will be wrong. It will require |
| | 84 | rebuilding everything. |
| | 85 | * Still going to be really enormous. |