Bestand wählen
Merken

The Hand-Waver's Guide To Contributing to Open Source

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
OK so welcome to the hand waivers guide to contributing open source if you thought the stock was about policy files you wanna go see Michael heads that stock thank you for coming to this talk with those of you know shall kind history know that in the past Disney gives great talks there never ever recorded so the worst thing ever to do was to be the torques total opposite Disney because nobody would come to your talk because they know I could watch it online and so my god with American depends I really wanna see his talk and we saw this control and it's that was OK but so they gave them in the stock of really excited about getting so who am I so
many mismatch trend that much you know from the program I I work itself I'm a customer architect which means I design customers I've been a check for about 3 years I've been a member the sub community for many years longer than that I am the creator and the co-host of a podcast called arrested ups and if you would like stickers I have them I am 1 of the co-organizers of them upstairs and I also started about the Chicago I which are see appears is open if you'd like to come speak iterative upstairs if you'd like to come to which covers a wonderful places in September and that is my license plates so on yeah actually 0 yeah we can work and you can find me on Twitter and that stranded to the bottom of my slides so please engage with my brand the show
and how can I turn this 2nd break anything and I should there should check 1st OK so who is this talk for this is the part when I say who it's for you go what's that mean you try to speak out and I know how I could you right so Enterprise Architects solution architects customer architects you see a pattern here right on what this really kind of boils down to is thinking about folks who work in an organization In would not elbow deep encode every day right we're trying to design solutions whether for our customers better internal or external far parts of the organization and we get a lot of really smart people working either for us or alongside us who know how to like Kennedy beginning a constructor is and I know why a slice is different than a rank on the components riddle and what they mean and the 2nd 1 a little bit and that the trick is we need to understand these things we need understand the capabilities and we also need to know when to call shit right because sometimes some will say well that they will do that you are given so the like it's super well or someone might say that will be that you 1 was a it's super won't right all of this is how we can design this correctly so the idea is this is the kind of thing so if you actually were able to if you're able to sit there and go all the way that you put that question mad about slice verses raises incorrect and you promise get of you are probably not the right person so right so
here's the thing the In this role and this is a role mean today I'm a customer architect which means I help existing shop customers design solutions and 4 previous as a solution architect Amen accidents but most my career working for a living as a system administrator so I'm not always but a professional hand waiver that's only been in the last few years of level of hand waving but even then when I was running in for an entire ups for e-commerce company and its allies and we can feel really fraudulent with some of these technologies right we're trying to understand we're trying to design around and and we we can feel fake like Joey trying to be here right on if and that's the thing we want to be able to feel genuine we don't need to be able to sit down and write a whole bunch of libraries but we need to be able to understand the libraries can do so that we can help say Haiti 1 on constructing and putting these pieces together is this the right piece so the idea here is to get everybody to pull the kneecap off the head and take off the New York Knicks GED jersey and say we are big grownups were not trying to be kids but we're going to understand some stuff so you think you
is this talk is about how do we contribute to open source and so that's sort of my theory here is that there's a couple different ways we can stop
being Joey and 1 of those ways we can read a lot of white papers we have a lot of solution architects come and give us like cool demos we analyze sales people come in tell us all the things things can do we membership card we can go see it all on on some talks so that the reason saying that is it's that you know better things to do right but I firmly believe that contributing to open source is a way that will really help you understand what these things can can do and others capabilities can happen and also when we think about the type of Dev transformations are wanting to do an our organizations I firmly believe that embracing open-source culture and especially that means in a 2nd is really really important for how the work of goes so what I tell a lot of my clients factor should say all of my customers if you're custom mind you're probably behind a big old firewall and you are probably an old-school enterprise the and you are adopting open source technologies you totally into that like we got to that that was cool people like sweet I could actually use Linux I can use of open source stuff you super on contributing back that's a whole different conversation but you don't want your internal projects like an open source project and I have found with a lot of my customers as we work that you can even if your project behind your firewall is totally closed source and is only your thing and will never see the light of the Internet treating it like an open source project because guess what the open source community has solve these problems how many people have been the like that of sort for like a manufacturing industry solve all these problems 4 years ago we should do what they do right guess what open source is sort of collaborative development so we should do it they do so what this does in addition to this being a great way for you to flex your muscles the kind of safely dabbled with these technologies it helps you also really understand how to engage in an open-source model which you can bring to your organization inside the behind the firewall source which I will think of a clever word for that by the end of this talk and it will be like a buzzword
OK so the question is now i wanna learn about a thing right so would do this by creating so why would I why bother contributing to existing project and just saying well I super wanna learn rust so I should just write break I should just go right habitat plan to do a thing battle by was couple reasons why why 1st you don't really know what you're doing OK so use
it never the Beagle blank piece of paper you don't know what you're doing the 1st 1st step others journey is to realize that you don't know jack about this thing that's why you wanna learn secondly in that scenario you are working alone you are sitting there with your laptop at home or maybe you're doing it at your in your cube and you're like all i got here is a screen and a keyboard and a whole lotta Google I have no panels that sucks chances are you're gonna follow some major patterns because the thing about
interdependence they're sexy they just everywhere that sexy there being like planets and they have huge gravitational that such people towards them that's the only excuse I could think of for the fact that so many of us follow them so you're gonna follow these major patterns because you don't even know they're and I patterns and you know what you really clever so adventure on an iPad and even rate so we're we're kind of sitting here saying we don't know we're doing as a 1st problem so starting with a blank sheet of paper when you don't know what you're doing is just be massively frustrating but you he totally alone so all you have is some books
and the Internet to try to solve your problem for you try to help you figure out if you have a problem the you will have problems that you even know you're having a problem because that pattern and you're going to create some new problems of your own yeah so
and give you a small example for my own history about why the you contribute rather than start fresh this is the R and computer to different get help repo so this is 1 of my own for a command-line application of running called upstairs and the other is the delivery sugar book on the Jews by larger automate that's not confusing at all but 1 of the so here is the thing so a little while ago I decided I wanted to learn go and the level of irony that happens here is the reason I wanted to learn those was I actually wanted to help out and contribute to an open source project that I really like that's written go but I was super intimidated economic I super don't know go I know how to light right go templates so like go and then I'll be good enough to go and help out this Hugo project and help them do stuff for like I do this so what I did is I had this command line application I was writing which at the time was called probably find is now called them upstairs but was to be used to manage the universe small simple use case of managing configuration files on forgot stays events as new events come up and I about halfway done with that written in Ruby decided to change to go Kazemi nobody does that right nobody changes language separate the project and so is I decide to do that I'm going to go reapplied everything I've already done and go and the problem there that I had is for small working alone the only goes 1 of the human animal planet who actually gives a crap water and doing and she writes everything in batch so she's super not useful to help and what I was doing was in a typical use case for go that's go doesn't do well but if you go how hard it and so glad that that's not the language we use all the time using shaft is hard to google for by the way that heard chef going there now you learn something I don't know what the revenue wrestling is that I by Russell anyway so the problem is I go and I buy a bunch of books in a really awesome what about like you know go and practice can and all about writing services all the typical things you do with go the typical use case for goal is not a command line application manipulate files that's called Pearl but so I just I'm still not done with this stupid thing right and branching on an arm and the good thing is it doesn't have to be done have I learned go you have actually learned a bunch of stuff and I feel like I could contribute had I been contributing to an existing project I would have learned pretty much as much as I know and probably a lot faster he and I bet I stepped in some giant mud pies and I don't even know about right so those go contra lies right for an edge on the scratch we had this we have this thing in Irish up delivery where were workflow automate whatever on where you can run test kitchen right so you under the pipeline that's a super important thing to be able to do and what was already in the bill cookbook I and the sugar cookbook was library basically only supported ECG because it was like a that's you know is kind of our color proved concept fingers like minimum viable right is easy to I got like that school but we totally use either and I was like well I wonder how hard it would be to extend this thing to use Asher and so I looked at it and like I've written cookbooks before i've written custom resources before but I never really wrote sugar libraries for delivery and Eva workflow before so I was like OK so I don't really know the things I was learning that thing and was super easy to do I went in there was a pattern I learned some stuff I added some value but I had a maintainer that was able to help me because they understood what I was doing and I was kind of going down that path and then so that that release pretty quickly ACAS was Kennedy decent and stuff learn enough that then what I said well now I have another itch I wanna scratch which here's another custom resource I really wish was in the literature that there's nothing like it I can super do that now because I crawl walk run as I like to say right I I started with something small that was apparent was already there i leveled up some scale so uncanny getting and as you may as you're doing these things we like say OK I'm defy helping my team design how we're gonna do Shaphan my organization is that mean you have to like be able to write like deep ruby libraries understand how that works for every single thing you might ever do know which probably should not have do 1 right can you like I saw see how that is my can realize that super duper hard and a tunnel work so if you see what do that thing maybe we don't right so anyway the point is I of stupid on this on some single covers the
generate the scrubbers sort a right now roadmap because we're all architecture like rats is going talk about some things will be going through so 1st really can't talk about determining when to contribute right like 1 1 is the place to get that and then going to reiterate and talk more about that don't go along thing and his knows all the jokes to my whole talk is with friends gets justice on what a not to contribute you know we and again all contributions are probably good but there's some specific types of contributions that are relevant to this idea that I'm talking about I work with a of maintainers not contain surrogate confuse retirement of obsolete assumed we headed include containers somehow in this so these are the higher-level things were gonna going talk about here so where do I
start right again this blank sheet of paper scenario that I super wanna learn this thing and even know where to begin right so you some ideas of how you can start to dive in and figure out where to go and help this these things
up so 1st assault someone else's problem right so you can so for some project something others relevant right so again depends which 1 do I may make a lot of references to how you do this with shop at shaft only can go a little bit out on a limb and say that probably most of you are better here like I kind in know enough about the chef parts but I have like really go learn how radical a many to many that's cool but like the thing maybe like habitat for example right so you might look and say like I want to learn how to like like there's a habitat package for this thing and so I'm going to try to make that thing better for 1st time you do it and go look at the issues on every bow and see if there's something blasted that a makes sense to me to fix like I think it's worth fixing and the seems reasonable that I could do right like not some big like rewrite the whole thing and go with 1st of all someone would probably close that's probably close will fix anyway by sometimes you'll see issues that really big complex sometimes you'll see issues filed with you like I think that's actually DOM link don't care about that and the reason why it's of the wise important for to be reasonable for you to do is you don't want super don't wanna give up because you're going to give up their don't wanna up this is gonna suck will discover that you're learning to think it's still be Superfund at 1st and it's gonna suck in the middle and it's going be awesome at the so if it's something that is too big for you you're gonna get frustrated and about time the other thing is if it's something you don't really care about when you get frustrated you're gonna support give up because we like I don't even want to spend time on this thing this is like I have a brief for a hot 2nd I made movies on short independent films you know and what I learned I talk to people who and this is the advice of people give screenwriters they give aspiring directors that the movie that you wanna make you have told of that thing because you're gonna live with that 1st sold along and there's going to be times it's going to be so bad that you're gonna have to have this man in your heart for that thing that will be achieved through the bad times issues are quite that but you have to release a little bit believe in it so look to the issues and say you have boy that person's right that those kind of socks would wouldn't be would be created that was fixed and I think I might be able the puzzle that out I don't have any idea how I do it but it doesn't sound like it's a very big where architects were good at waving our hands estimations and doing small big large T-shirts or whatever right so that's 1 thing the other 1 is scratch your own itch right like this
was my summary there was no ticket in delivery sugar I created it to say make this work with Agirre but in this case was it concert was a thing that I already care about I wanted this to happen so you know people say you know it's like be the change you want to see in the world right you want something better in this project make the things right so then the best thing ever as a maintainer is to see somebody fix their own thing right like the worst thing is made here is to see it it should open and be like this is totally broken than no repro steps you know I guess what is she was never going to get fixed but what maintainers super love is a pair request which is like here's fixed and depending on the project sometimes it's like they want to open an issue 1st and you can tied to a but the thing is solving year old problem because you know and think about from a product perspective like to about open-source projects but let's think about telling people here have been working with shaft the company in 1 way or another for more than a year been dealing with us for more than a year OK so that's I love love love shops offering that 1 of the things that we've gotten so much better at recently is thinking about things like products and so just purely as engineering for for a long time we build stuff that we wanted to build and in not even that all we just wanna do that but as in the things that made sense to us were guess what we are a small subset of the humans on this planet to operate the computers that run the universe right so it's not product people like our product people do now is they talk to the customers we understand what to build so the same thing is true there the maintainer of this project you may have an idea for a thing that it never even occurred to them or anybody else so if you have an edge you scratch your own attached right the now again there's no hard and fast rules rancher G open issue I mean care really talk about I figure that out later but I will show you trying to fix a limitation you see a project rather than just dashing issue up into the bug tracker you will see much faster traction doing this yourself and you can learn a lot so again don't just go make your
own thing right in and talk about this a long life you you heard my story about widened disco make my own thing so that it's really matters is you don't wanna have this in isolation trying to make this your own thing here on a raft floating by yourself and nobody there to help you make it better you take something out there that already exist make a button you will learn a hundred times more and 100 times faster it will be exactly that number and I had the data to back it up I just it on a thumb drive I forgot to bring with Austin so but you just trust me it's the right so to have hands with great so again being alone sucks
what not to contribute to how many people have you ever heard a talker write an article or a listen to a podcast were like the people who wanna get an open source here some tips for you how many people of like seen a thing like that that 1 of the things people always say is head with the docks update the FAQ growing tickets 1st of all by no means am I saying those are not good things to to and you should totally do them and that is a good way to help understand a project it is not a good way to stop understand a project for the very specific concept were talking about in this talk today right that will give you some basic understanding a lot of times when we suggest a people to do that it's how you can gather some of for lack of better words a little bit of street cred in that community maybe people get used to seeing your name on commits if you don't know anything about the project it's a way to kind of learn about it the thing is if you came to this talk you probably looking for things to a little faster and a little bit deeper right so I'd much rather say do a small change the maybe scratch is a tiny little bit of an edge which actually wrote some code then invest a whole lot of time writing documentation because we didn't grow up to get architect and our title to write docs lemmatize right I'm so losing the other updating FAQ doesn't as much help you understand the limitations or potentialities of a project as it will to actually for the way they were trying to do it in our in our design so to keep that in mind
now working with maintainers and this is the part where when I say we do certain things that we wanna start to say how we take the way we do things in the open source world and bring behind firewall learning how to do this which is a skill you will develop will help you understand why it's good and maybe where it's painful and help figure out how to apply that your organization so here's a couple things to think about when working with maintainers follow the contributing guidelines all good projects have guidelines for how to contribute sometimes are very complex sometimes they're like just tested somehow that would be awesome please rate but a good project should not have a blank read there should at least some or be some minimum viable contributing guidelines so make sure you read those make sure you did because it just be like well you color contributing identities right no idea maybe they colored guidelines that indeed take half a 2nd to figure out where they are most projects have some type of framework for how to contribute what they're looking to require guess what you should do when you're internal projects true that's right that will help people hope you make your changes and we're gonna dig into each of these by the way this is by many roadmap what's in the roadmap both Ajello's here that was epic and this is something not applicable of member of a story anyway major changes understandable talk about that and test your stuff and don't take it personally retirement as well or that super more so as file contributing
guidelines thank and like we said maybe what is common practice people like to create a file called contributing da-dandy if the complicated sometimes those put it in the readme you know here's an
example of on what I think that ironically notices in contributing and this is some of the contributing stuff for the Hugo project which is a project that i has histologic to help with because I totally don't forget about go well enough but they tell you things like here's our code contribution guidelines so stuff like what we want to do is a fork this thing that's how you do it right we want p arts not every project works that way almost everyone you work with and get help is gonna follow that model but they're saying that sometimes all specifically say we want you to name your branch that's or make sure that you don't work it's a master on your own for or whatever then they so when you do a PR you know hey they have a contributor license agreement nothing more annoying as a maintainer then they tell you they tell you to do this and then use submit the P R N it inside the cylinder like is really just an even do your paperwork right which are like that super annoying making like I super needed for whatever reason and you blocked yourself they say you need add these test cases you know and a set and then even has a really specific stuff like run go format but I just do these things right so like a cookbook we might say we want you to like you know use some syntax highlighting tool to do the indent pretty we we really our you know pedantic about in that so you spaces that taps that might be in there and you might just have to deal they ask you this is 1 is the very specifically want you to squasher comments this is with the kind of thing that will differ from project to project so the more respectful you are to the contributing guidelines likely you are to get your PR is accepted because you don't want your PR rejected because of people you want rejected but on rejected all this can be rejected I want rejected because it was a wrong decision or was crap cold not because I didn't follow the process right because maintainers for the most part have this stuff in place for good reasons well you know a certain level and organizations we know that maybe 50 % the process the organization has is bullshit but at least half of it is LogErr and there's reasons and people to do it right that's true of the contributing stuff right and again they say you know make sure your check succeed so in this case retired what this would talk about testing they actually have a testing framework where they're like when you commit your PRR tennis super do a thing and don't like the tried to like contribute they encode and it sounds funny that you have to sometimes tell people that but you do
right so make your changes small understandable so don't make too many changes at once and what's really really funny is that in our real world jobs we super get this right we know how to break were down into manageable chunks and we do like you work in progress and you can't behind all this stuff and we're gonna go like contribute to something open source and we will like shovel PR with like 75 commits the changes 25 things and be like why what's wrong with that right so it is same idea think back and say if I'm uh change that I'm making it should be small as you change 1 thing that doesn't mean to a PR for like every line of code you do but it should be 1 functional unit of a thing it should be understandable right so remember thinking about this the people who are proving this reviewing it they need to understand the cloning quote business case there is and why you're making this change not just again and the more work you do that but this and we said when I would go to my boss my what my boss to make a decision anything I asked my boss to decide on that requires them to do work it is very likely to be you know anything where they just have to think for a 2nd and could say yes or no it'll be a gas so I go and say Hey boss I want to do this and by the way for you to figure out if the answer is yes or no you have to do a bunch of research about it would be the start you do all this stuff is going go you know what that now but if I say they lot of 1 here's why there's is all here now you just observed in 30 seconds you go some is no but you're not going to say no because I give you more work to do the life lesson you want some guest you never give them more work to do nobody wants to do more work right so Jez Humble said before the birds neutral is nothing but a communication tool number of Belper's that is super important right I will say I project I manage on early maintain the worst thing in the world is the pull request with no body right p other than what what is this thing do why do you care and the are edge cases right answer OK PR that says change home button from forestry the hunter green probably an OK P right but if you do anything tell me about it and tell me why I care because chances are otherwise and hit you with Wolf X right so and again later said in a real jobs go rated people that try this with our stuff on to tell me why you're doing it I can guarantee you won't get merged unless I understand why so if you get ahead of the question because here's then you need a blank 1 on the reply under tagger do not merge so that nobody else actually does and i'm going to go and say could you tell me what this does an ASCII a whole bunch of questions if you can answer those questions in advance they don't get much faster so think about that right communication the best thing we have better communication to or better than Slack flag is great it was the for talking about a
change of sentiment example to bad change right peer 341 fixes some stuff and this this is bad for 2 reasons this is bad for you even getting it merged right so be like whatever but here's the thing this is about if it's a problem that nobody contributes to what we that's a really crappy P R divided I do pr my own stuff for reasons but remember it's communication to and its history to all the noun to go back and figure out well it seems like stuff started breaking appear 341 what was that all fixed some stuff right now we go look into the commits which are probably written just crappy vectors probably 1 they commit that changed 1 file 15 different times and who knew what happened at all stocks right but at least he appeared 341 enable the use of tunnel in addition the gavel in configuration files at least I know what I was trying to do right can that was the thing I can understand if nothing else even if it's my own project that helps be remember where my head space was why did that thing so communication communication it came from but sometimes being pedantic
isn't a bad thing right on I do this with shops generally speaking I don't care what you call the thing OK the word used for things although I will tell people like when you see a subscript on any yell at you because you're using the word incorrectly measure thinking wrong so that only time to be pedantic is 1 in Hobbes collaboration when heads collaboration was time being pedantic does not help collaboration or overheads understanding so the point of there's a reason we have conventions and commit messages could commit messages generally follow these guidelines except when they don't right so if following these messages in your project of you deciding to come up with a standard is going to turn into a massive bike said that you're gonna spend 3 weeks fighting about whether or not they should in a period or not you should decide it doesn't matter what the generally should be initial caps this is convention I haven't really figured out exactly why it matters but the world does it you know you have a short introductory summary everybody does this really well everyone will do this they put it in the very few people will put in a body and a commit but it's great but this is the other 1 is and I feel strongly about this it describes the change in an imperative man right so it's not fixed this thing all none of them should be fixed anything but it shouldn't be changed on this class to be there has to be change this to the and it's because of the way when you think about how get applies thing so if I'm reading history I change this commit if applied well so think about every commit message should start with in your head this commit if applied well changed novel to whatever right and then if the sentence was this commit if applied will fixed typo you know it's not good fixed type by the way I've always wanted do a search across all the commits and get help and find how many have the word type 1 probably most of mine
test stop again so too we talked about this and and should be like we all know testimony of element is thing in you should test but the problem is testing sucks rate that's a new 1 like the hashtag monitoring sites attached at testing is out because really lazy we wanted to cool stuff but in the promise a lot times feels like testing is more work than is necessary especially like it just wanted to a little thing man what protest on but was was number 1 make sure you follow whatever testing islands were laid down for that project has it'll just get kicked right out so you can fight all day long that you may think you know we coppers Dharma something like that but if the project so as to be merged you must pass RoboCup will then do that right on and you know what sometimes the arm testing guidelines that doesn't mean you get a free pass just because of my father died not tell you how to test does not mean you develop their own know ask you know tool that way even if you do you shall always test even if you were told all that matters is if you're told make sure you test the way that you were told and now
share the results of your testing is 11 times testing might just be exploratory or might be against great when we get Travis set up we got something that will automatically report the tests into the PR and all that that's great but if you don't you don't get to go like well I totally tested it may no no they don't the maintainer only knows if you tell them so the the the system will tell them and if it does we or not peace results to a screenshot do something again the more information so add the results now
for the bad times for the times when you had a super good idea was going to change the world of this project and that asshole maintainer and close the P I cannot stress this enough for well the white left and this is what we call rule number 6 always remember remember 6 don't take it personally and you'll go far but definitely don't take it personally when your stuff doesn't get merged unless this person you know that for the reasons and that's a whole different talk but generally speaking it's not so
justices are about a couple years ago called the art of clothing and she talks about you know being a maintainer very large open source project like doctor and get you reach kids tons and tons and tons of PR is and like the problem being a maintainer of a very large and popular open-source project is usually of the bearer of bad news you have to tell people know at times he wrote a really good blog post for maintainers to be like here's how not to be an asshole when you close right so but she says 1 of the hardest part of being made here is having the same no to patches you don't want and these there are a couple really insightful Foxtrot from some thought people who deal with the same thing like weird fiber-like Solomon right rule number 1 of open source no was temporary yes is forever so I may say no your emerge and I may say yes to a week from now and makes sense but I say yes now we're stuck with the shit rate and the same thing contributors put effort into their pet pull request but the maintainers are dealing with the bigger picture so that's the thing and actually should make a lot of sensors of in their own right the contributor the maintainers they know division they have an idea and you're thing that some super specialty you may conflict with that and that should make a lot of sense to all of us architects out there that maybe they know things we don't know so keep that in mind so the use of that right you get that won't fix despair overtake you maybe anger you start reading and on Twitter none that helps communication there's nothing wrong with asking now good maintainer whose followed just example will actually tell you why right there in the IP proposed might say hey this is cool but totally conflict or go back come back when you've written some better tests or even symmetric code or whatever but even if they don't there's nothing wrong with asking why were single happened the more you chances were fairly good they will call you names on its and nobody's gonna point in the face
are limited advice from the field I ask people what they had learned on in their fears of contribute open source and the advice so 1 was again and and the good thing is a lot of this actually is stuff I talked about but like Marey's as you'll be descriptive with examples of what you're fixing people lights again maintainers probably deal with but only deal with a lot of PR is and most people or a not polite so if you're nice to them the a pay more attention to how many people have ever worked in any kind of like ticket based system of supporting users how many people would have a user that was a jerk to them and every time to take it came in like that is the last 1 I'm gonna look at it and then the people who bring you cookies at christmas time down to the help desk you like New frank about it yours man right so be polite you will be remembered for being polite on and any had fits the volume the more you do the less nervous he becomes this do it right we don't just like flooded with a crap refinement a little stuff on reading the contributions and as the things go right so also here
sometimes you might be like picking lectures whole-slide full friends but specifically on and there's a talk right after mind Odyssey shops which is kind of a community the managing of cookbooks the ball from the mother I really not a problem they adopt the ones of cookbooks but they're always looking for people to help make things better and you could get actually I just came up at the summit they're starting to launch a mentoring program which would be a really good way to kind of help understand those things then you might have to pick and choose and look at some those cookbooks to get up but the thing you're trying to figure out how you want to add to get better at may have assured me they would love your help because I just saw them in the speaker wanted now
am so it's find right you can do this yeah you can not only learn these skills by contributing these projects you can actually then magically infiltrate your own organization with some of this magic open-source Bay of managing things because you got used to working that way that's what Haviland tell you someone who worked in a not open source way for years and years and years we started like tripping over the products with all weird and I can't imagine any other way to manage the sapa project and terms of actually communicating about the code anyway the way does not make sense so this is a hard it's not scary the dystopian a hole and you will be fine
right and this I will tell you the link to B will find some way about remembering all these links will be clickable somewhere but cover things so if you've seen the new learned shop that I 0 which is this rally thing there's a super cool module called open source collaboration that has a lot of stuff like this and Jaime off and the Jane Harman was being there's a lot of names negative about it are get for teams icon is a really good resource but you with the tools about ready good commit messages and I shall so notional Harrington has a talk on open source governance 1 1 that just got published yesterday like and the tubes so there are resident of the comes my podcasts I put all my talk some I get have repo this 1 is up there are on on Twitter admits trend sometimes remember put stuff on speaker that
so we have time for a couple questions again donating OK I hope that encourage people
to contribute to my these with the example I think what we're going to make you think of people come and that the so 1 of the things is sort of 1st go through kind of make sure that its contribution ready right I'm in terms of if I go see a repo that has no read me or a very blank read of if I and there's no contributing fathers no explanation there's no testing framework in place it makes me super and it's not because I'm being judge have it I'm actually kind of scared to contribute to it because I don't know how to do it in a way that will make you happy right like going to be like ruined by the way how I do that so for so make sure that that's the very thing about inside your organisation Republic like a general like public open-source kind of thing a heavy advertise were right on a a lot of people using your your tools the and no one's actually helping is what it boils down to I mean 1 of the things to do and this is where the fine line is as a maintainer is not be a jerk right like you probably get a bunch of issues because the problem right if you like me was on my code like the issue stack up the PR is do not so there's kind of a running joke that the term Pr is welcome is the way of saying like go jump off a bridge but in a nicer way you could say hey that's a really good idea you know and sometimes you complied with with 1 help with help wanted but I do think that the more that you make your repository contributor friendly so that it's really easy to get started right like and sometimes the stuff that we think is table stakes were like well of course somebody knows how to initialize ago project we just do what a lot but you look at some of them they will actually say like do x y z this is how to build your local environment to to develop for my project that will help that will attract people but it will certainly that do check them on beyond that it's sort of a matter of trying to figure out again for different parts of how depends upon the community related to the project right like that's God if there's a way to kind of share with that so that's and then beyond that it's marketing and then you go talk my wife marking for total which many advertising by Google ads for contributors to regardless please join me in thinking that things
Offene Menge
Open Source
Moment <Stochastik>
Elektronischer Programmführer
Open Source
Gamecontroller
Elektronische Publikation
Schreib-Lese-Kopf
Konstruktor <Informatik>
Siedepunkt
Selbst organisierendes System
Program Slicing
Unternehmensarchitektur
Rechenschieber
Mustersprache
Rangstatistik
Twitter <Softwareplattform>
Rechter Winkel
Minimum
Mereologie
Mustersprache
Vererbungshierarchie
Kontrollstruktur
Zusammenhängender Graph
Decodierung
Optimierung
Unternehmensarchitektur
Arithmetisches Mittel
Subtraktion
Open Source
Systemverwaltung
Programmbibliothek
Ultraviolett-Photoelektronenspektroskopie
Ganze Funktion
Physikalische Theorie
Quick-Sort
Übergang
Addition
Umsetzung <Informatik>
Demo <Programm>
Firewall
Selbst organisierendes System
Wort <Informatik>
Open Source
Automatische Handlungsplanung
Element <Mathematik>
Transformation <Mathematik>
Arbeitsplatzcomputer
Teilbarkeit
Quick-Sort
Internetworking
Chipkarte
Kollaboration <Informatik>
Informationsmodellierung
Client
Datentyp
Kontrollstruktur
Wort <Informatik>
Projektive Ebene
Softwareentwickler
Unternehmensarchitektur
Schnelltaste
Notebook-Computer
Mustersprache
Bitrate
Hecke-Operator
Abenteuerspiel
Touchscreen
Punkt
Extrempunkt
Selbst organisierendes System
Wasserdampftafel
Mathematisierung
Formale Sprache
Kartesische Koordinaten
Computer
Hecke-Operator
Internetworking
Übergang
Dämpfung
Mustersprache
Pi <Zahl>
Programmbibliothek
Konfigurationsraum
Grundraum
Softwaretest
NP-hartes Problem
Zentrische Streckung
Open Source
Template
MUD
Prozessautomation
Elektronische Publikation
Ereignishorizont
Softwarewartung
Dienst <Informatik>
Rechter Winkel
Projektive Ebene
Kantenfärbung
Stapelverarbeitung
Softwarewartung
Umwandlungsenthalpie
Datentyp
Computerarchitektur
Schätzwert
Bit
Open Source
Stochastische Abhängigkeit
Mathematisierung
Schlussregel
Computerunterstütztes Verfahren
Biprodukt
Binder <Informatik>
Programmfehler
Teilmenge
Softwarewartung
Dämpfung
Perspektive
Rechter Winkel
Geometrische Frustration
Offene Menge
Mereologie
Vererbungshierarchie
Inverser Limes
Projektive Ebene
Grundraum
Normalspannung
Metropolitan area network
Videospiel
Bit
Vektorpotenzial
Thumbnail
Open Source
Mathematisierung
Zahlenbereich
Schreiben <Datenverarbeitung>
Code
Arithmetisches Mittel
Dämpfung
Rechter Winkel
Inverser Limes
Projektive Ebene
Wort <Informatik>
Innerer Punkt
Hilfesystem
Schreib-Lese-Kopf
Selbst organisierendes System
Open Source
Pivot-Operation
Güte der Anpassung
Mathematisierung
Bitrate
Elektronische Publikation
Framework <Informatik>
Softwarewartung
Datentyp
Mereologie
Nichtunterscheidbarkeit
Projektive Ebene
Hilfesystem
Lesen <Datenverarbeitung>
Telekommunikation
Prozess <Physik>
Selbst organisierendes System
Mathematisierung
Zahlenbereich
Raum-Zeit
Code
Framework <Informatik>
Übergang
Informationsmodellierung
Arithmetische Folge
Reelle Zahl
Prozess <Informatik>
Fahne <Mathematik>
Gerade
Hilfesystem
Umwandlungsenthalpie
Softwaretest
Videospiel
Schaltwerk
Feinstruktur <Mengenlehre>
Open Source
Zwei
Güte der Anpassung
Verzweigendes Programm
Entscheidungstheorie
Arithmetisches Mittel
Softwarewartung
Menge
Rechter Winkel
Benutzerschnittstellenverwaltungssystem
Mereologie
Dateiformat
Projektive Ebene
Rechenwerk
Klon <Mathematik>
Kreiszylinder
Telekommunikation
Punkt
Mathematisierung
Klasse <Mathematik>
Raum-Zeit
Hinterlegungsverfahren <Kryptologie>
Data Mining
Message-Passing
Datentyp
Addition
Konfigurationsraum
Hilfesystem
Schreib-Lese-Kopf
Metropolitan area network
Algorithmische Programmierung
Addition
Elektronische Publikation
Pay-TV
Konfigurationsraum
Vektorraum
Elektronische Publikation
Frequenz
Kugelkappe
Kollaboration <Informatik>
Rechter Winkel
Algorithmische Programmierung
Wort <Informatik>
Projektive Ebene
Overhead <Kommunikationstechnik>
Innerer Punkt
Message-Passing
Standardabweichung
Lesen <Datenverarbeitung>
Softwarewartung
Resultante
Softwaretest
Web Site
Softwaretest
Gemeinsamer Speicher
Zahlenbereich
Projektive Ebene
Physikalisches System
Information
Element <Mathematik>
Bitrate
Message-Passing
Metropolitan area network
Softwaretest
Webforum
Telekommunikation
Mereologie
Punkt
Web log
Open Source
Güte der Anpassung
Zahlenbereich
Schlussregel
Patch <Software>
Bitrate
Code
Division
Softwarewartung
Open Source
Patch <Software>
Twitter <Softwareplattform>
Rechter Winkel
Zahlenbereich
Softwarewartung
Mereologie
Projektive Ebene
Normalspannung
Open Source
Physikalisches System
Eins
Softwarewartung
Deskriptive Statistik
Datenfeld
Datenmanagement
Rechter Winkel
Cookie <Internet>
Spezifisches Volumen
Körpertheorie
Optimierung
Hilfesystem
Metropolitan area network
Kollaboration <Informatik>
Röhrenfläche
Selbst organisierendes System
Open Source
Binder <Informatik>
Bildschirmsymbol
Biprodukt
BAYES
Modul
Term
Code
Open Source
Negative Zahl
Kollaboration <Informatik>
Twitter <Softwareplattform>
Projektive Ebene
Repository <Informatik>
Message-Passing
Modul
Softwaretest
Dokumentenserver
Gemeinsamer Speicher
Selbst organisierendes System
Open Source
Automatische Differentiation
Term
Code
Quick-Sort
Framework <Informatik>
Eins
Softwarewartung
Rechter Winkel
Grundsätze ordnungsmäßiger Datenverarbeitung
Mereologie
Projektive Ebene
Programmierumgebung
Repository <Informatik>
Hilfesystem
Gerade
Tabelle <Informatik>
Lesen <Datenverarbeitung>

Metadaten

Formale Metadaten

Titel The Hand-Waver's Guide To Contributing to Open Source
Serientitel Chef Conf 2017
Autor Stratton, Matt
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/34606
Herausgeber Confreaks, LLC
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Chef is a vibrant, welcoming open source community, but it can seem intimidating to contribute to any open source project when you don't have "engineer" in your title. This talk is for the hand-wavers amongst us—the architects, the planners, the visionaries—who might not be intimately familiar with registers, slices vs arrays, or what the heck a "constructor" is, but still have great ideas. I'll gently guide you through ways to help improve your favorite open source projects, give direction on how to submit a pull request that won't get immediately rejected, and how to prioritize which mountains to tackle first. We'll also explore some of my own journey in "leveling up" in languages, and how to get help turning your ugly, but special to you, code into something that will delight the true code wranglers out there.

Ähnliche Filme

Loading...
Feedback