Security Architectures – Working with Software Development Teams (ISVs and in-house) • Co-Creator of IdentityServer OSS Project – Certified OpenID Connect & OAuth 2.0 Implementation for .NET – https://identityserver.io • Co-Creator of PolicyServer – Modern Authorization Solution – https://policyserver.io email [email protected] blog http://leastprivilege.com twitter @leastprivilege slides https://speakerdeck.com/leastprivilege
on suitable licenses – permissive vs non-permissive vs viral • Employees should be allowed to contribute (back) – during business hours • Consider "sponsoring" the projects you depend on – money or time "In layman's terms, this means that our employees are free to create any sort of open source outside of business hours (as long as it doesn't compete with our business), are free to contribute to open source we depend on at any time, and they own the copyright to that work (or whatever the terms are of the project they contribute to). The only real stipulation is that the project's licence must allow us to use it in our commercial software." http://dhickey.ie/2014/11/our-open-source-policy-at-evision/
people – open issues when you find bugs or unexpected behavior – create pull requests to fix bugs – contribute to documentation • Start your own project – for fun – for improving your skills – develop your own brand – company sponsored OSS James Newton-King: "Open Source from the Trenches" https://www.youtube.com/watch?v=uEq-rivegew
• Tests • Self-contained way to build that code – e.g. build.cmd – don't require Visual Studio • README – super important • Code of Conduct – https://www.contributor-covenant.org/
sleep – especially when "strangers" start adding code • High code coverage is nice, but not the most important thing – I prefer integration tests over 100% unit test coverage • Demand a test for every PR
to accept PRs at all? • If you do – the code will become YOUR code, and you have to maintain it for a long time – require test coverage of the changes/additions – require same coding style as rest of project (e.g. using editorconfig.json) • Add a CONTRIBUTING.MD • Consider a Contribution License Agreement (CLAs)
• Conference/Usergroup/Meetup talks • Submit to Microsoft – ASP.NET Community Standup – On .NET • StackOverflow – help other people that have problems (with your library) – link back to github/docs/nuget
definitely better than the "old" one – easier access to development teams – more "development in the open" • Microsoft has not turned into a charity – be prepared that they can compete with your OSS project any time they want • "Every open source project needs a business plan" – Microsoft's is selling Azure – what's yours?