Tagged: openstack Toggle Comment Threads | Keyboard Shortcuts

  • stefano 10:29 am on July 17, 2015 Permalink
    Tags: , , openstack   

    The hard life of OpenStack application developers 

    I’m starting to feel the pain of developers attempting to write applications on top of OpenStack clouds: it hurts, and I haven’t come anywhere close to doing anything special.

    I started following the getting started utorial for First App Application For OpenStack (faafo) and I gut stuck on step 1, authentication. There are way too many things that are convoluted, confusing and sometimes carefully hidden (or ridiculously displayed) on Horizon that make it too hard to get started developing apps on OpenStack. I started following the Get Started document for python-libcloud:

    You need the following information that you can obtain from your cloud provider:

    auth URL
    user name
    password
    project ID or name (projects are also known as tenants)
    cloud region

    Looks simple but it’s not. The auth URL doesn’t include the path say libcloud documentation but in practice every cloud I tried behaves differently. DreamHost and Runabove require not only v2.0/ but also /tokens after the base URL (https://keystone.dream.io/v2.0/tokens) while CityCloud and HPCloud seem to work according to the documentation. Some will throw weird errors if you add /tokens. Libcloud is also confusing regarding support for Keystone API v3 (which Citycloud uses): the official docs don’t mention v3 (bug), but a blog post from libcloud maintainer provides examples on how to use it.

    Finding the right projectID or name is also challenging because some clouds don’t show the project ID immediately in the web control panel (and not every cloud I tested runs OpenStack Horizon). Chances are you’ll have to find the RC file, which is fairly easy if the cloud you’re targeting is using Horizon.

    Even after I found all the pieces, I haven’t managed to authenticate using libcloud on CityCloud, Rackspace (using openstack provider) and HP. Only with OVH I managed to authenticate and get a list of images with my stock Ubuntu 15.04. I managed to authenticate on DreamHost only on Ubuntu 14.04 and on a clean, updated virtualenv.

    It took a lot of trials and errors to get rid of the Method Not Allowed errors and get libcloud.common.types.InvalidCredsError: ‘Invalid credentials with the provider’, which at least is hinting that I have guessed the auth_url for Citycloud and HP. But I have no idea why credentials are not accepted, since the username and password are those I use on the Horizon panel on HP and on on the custom Citycloud panel. My guess is that I haven’t guessed correctly the project_name or tenant_id or whatever it’s called. This is too confusing.

    OVH seems to works, but it requires the full url:

    auth_url = ‘https://auth.runabove.io/v2.0/tokens

    it won’t work without /v2.0/tokens.  So, after spending one day reading docs, trying to guess permutations I started thinking that probably libcloud is not a feasible approach.

    I’ve started looking at OpenStack Infra homegrown interoperability library shade instead: authentication went smoothly immediately with DreamHost and HP on my machine. At least that part was easy and I managed to make some progress in my test with that, finally. Hopefully by the end of the day I’ll have the FAAFO running on

    The end result is that it shouldn’t be this hard, even for a very modest developer like me, following a well written, copy-and-paste tutorial should not be as confusing. A lot of work needs to be done to make OpenStack clouds friendly to app developers.

     
  • stefano 8:07 am on June 23, 2015 Permalink
    Tags: , , foundation, openstack   

    So long OpenStack community, see you soon 

    Let’s call it a “ciao” and not an “addio.”

    After almost four years (un)managing the OpenStack community, I have decided to move on and join DreamHost’s team to lead the marketing efforts of the DreamCloud. The past three years and 10 months have been amazing: I’ve joined a community of about 300 upstream contributors and saw it grow under my watch to over 3,600. I knew OpenStack would become huge and influence IT as much as the Linux kernel did and I still think it’s true. I’m really proud to have done my part to make OpenStack as big as it is now.

    During these years, I’ve focused on making open source community management more like a system, with proper measurement in place and onboarding programs for new contributors. I believe that open source collaboration is just a different form of engineering and as such it should be measured correctly in order to be better managed. I am particularly proud of the Activity Board, one of the most sophisticated systems to keep track of open collaboration. When I started fiddling with data from the developers’ community, there were only rudimentary examples of open source metrics published by Eclipse Foundation and Symbian Foundation. With the help of researchers from University of Madrid, we built a comprehensive dashboard for weekly tracking of raw numbers and quarterly reports with sophisticated, in-depth analysis. The OpenStack Activity Board may not look as pretty as Stackalytics, but the partnership with its developers makes it possible to tap into the best practices of software engineering metrics. I was lucky enough to find good partners in this journey, and to provide an example that other open source communities have followed, from Wikimedia to Eclipse, Apache and others.

    OpenStack Upstream Training is another example of a great partner: I was looking into a training program to teach developers about open source collaboration when I spoke in Hong Kong to an old friend, Loic Dachary. He told me about his experiment and I was immediately sold on the idea. After a trial run in Atlanta, we scaled the training up for Paris, Vancouver, plus community members repeated it in Japan already twice. I’m sure OpenStack Upstream Training will be offered also in Tokyo.

    It’s not a secret that I can’t stand online forums and that I consider mailing lists a necessary evil. I setup Ask OpenStack for users hoping to provide a place for them to find answers. It’s working well, with a lot of traffic in the English version and a lot less traffic in Chinese. My original roadmap was to provide more languages but we hit some issues with the software powering it (Askbot) that I hope the infra team and the excellent Marton Kiss can solve rapidly.

    On the issue of diversity, both gender and geographic, I’m quite satisfied with the results. I admit that these are hard problems that no single community can solve but each can put a drop in the bucket. I believe the Travel Support Program and constant participation in Outreachy are two such drops that help OpenStack be a welcoming place for people from all over the world and regardless of gender. The Board has also recently formalized a Diversity working group.

    Of course I wish I did some things better, faster. I’m sorry I didn’t make the CLA easier for casual and independent contributors: I’m glad to see the Board finally taking steps to improve the situation. I wish also I delivered the OpenStack Groups portal earlier and with more features but the dependency on OpenStackID and other projects with higher priorities delayed it a lot. Hopefully that portal will catch up.

    I will miss the people at the OpenStack Foundation: I’ve rarely worked with such a selection of smart, hard workers and fun to be around, too. It’s a huge privilege to work with people you actually want to go out with, talk about life, fun, travel, beers, wines and not work.

    When we Italians say “ciao,” it means we’re not saying good bye for long.

    So long, OpenStack community, see you around the corner.

     
  • stefano 3:13 pm on June 4, 2015 Permalink |
    Tags: , openstack,   

    OpenStack is as start-up friendly as anything 

    I read someone complaining about OpenStack being not friendly enough to startups one time too many. Latest post by Rob Hirschfeld 10 ways to make OpenStack more Start-up Friendly made me want to respond. I just can’t stand the Greek chorus of complaints, especially from someone who sits on the board and can actually push for changes where necessary. I promised I’d spend time on his 10 points and here is my take on each of them:

    Accept companies will have some closed tech – Many investors believe that companies need proprietary IP. An “open all things” company will have more trouble with investors.

    Why is this an OpenStack problem? If the VC industry have a problem with open source then the problem is of open source as a whole or of the VC (depending on your point of view). Maybe customers prefer to buy open source based solutions instead of buying proprietary code from small startups. This is not an OpenStack issue.

    Stop scoring commits as community currency – Small companies don’t show up in the OpenStack committer economy because they are 1) small and 2) working on their product upstream ahead of OpenStack upstream code.

    Code is the most valuable currency in an open source project, there is absolutely no way OpenStack should be any different. Companies small and big will be contributing compared to their size and code is how a small company doing great work can gain more influence than a large company doing little stuff. If you’re saying that the community shouldn’t put first and foremost the “top ten” charts of companies contributing (like stackalytics does), then I agree with you. The Foundation celebrates individual contributors to the release and only counts company. This is not an OpenStack problem. Maybe it is a stackalytics problem and one of the reasons I prefer to partner with Bitergia for the community dashboard.

    Have start-up travel assistance – OpenStack demands a lot of travel and start-ups don’t have the funds to chase the world-wide summits and mid-cycles.

    OpenStack has already has addressed this problem with the Travel Support Program. In Vancouver the Foundation spent around $50k to send about 30 people from all over the world, from startups and students. If that’s not enough, I’m sure more money can be raised for that. This is not an issue, there is a solution in place already.

    Embrace open projects outside of OpenStack governance – Not all companies want or need that type of governance for their start-up code base.  That does not make them less valuable, it just makes them not ready yet.

    I don’t even know where this comes from: is anybody forcing anyone to host code on git.openstack.org/openstack namespace? And isn’t the OpenStack project offering for free its resources to host code in our systems, without imposing governance or rules with git.openstack.org/stackforge? If there are companies interested in getting under the OpenStack governance, it’s their choice and based on my knowledge they choose because they get business value off of it. This is a non-issue.

    Stop anointing ecosystem projects as OpenStack projects – Projects that are allowed into OpenStack get to grab to a megaphone even if they have minimal feature sets.

    Even if this was a problem, and I don’t think it is, it should work in favor of startups: many of them have nothing to show but good intentions, for which a megaphone is exactly what they want and use. This is a non-issue.

    Be language neutral – Python is not the only language and start-ups need to make practical choices based on their objectives, staff and architecture.

    Nobody forces anyone to become an OpenStack official project (which requires some level of standardization). It’s a choice. And, in any case, there is a lot of javascript and ruby in OpenStack, with pieces in Go also coming. This is a non-issue.

    Have a stable base – start-ups don’t have time to troubleshoot both their own product and OpenStack.  Without core stability, it’s risky to add OpenStack as a product requirement.

    This is a tautology also it’s something that is being constantly advocated and keeps on improving.

    Focus on interoperability – Start-ups don’t have time evangelize OpenStack.  They need OpenStack to have large base of public and private installs because that creates an addressable market.

    So let me get this straight: IBM, EMC, Cisco are scooping up the first waves of startup that tried to build a product on the rudimentary OpenStack. Such big guns have the clout to create that large addressable market, lending their credibility to OpenStack as a whole. They also pay good checks to the OpenStack Foundation to power its awesome marketing machine.  This is good for startups: they ride on a wave created with someone else’s money.

    Limit big companies from making big pre-announcements – Start-ups primary advantage is being a first/fast mover.  When OpenStack members make announcements of intention (generally without substance) it damages the market for start-ups.  Normally corporate announcements are just noise but they are given credibility when they appear to come from the community.

    Yeah, right, like you can really put on a rule against vaporware. It’s the way this market has worked and will continue to work this way. Startups, in any field have to learn how to live with it. This is not an OpenStack issue.

    Reduce the contribution tax and patch backlog – Start-ups must seek the path of least friction.  If needed OpenStack code changes require a lot of work and time then they are unlikely to look for less expensive alternatives.

    Here I guess you’re talking about contributions to existing OpenStack projects, like Nova, Neutron and the like. If you think that some company can innovate fast on Nova while keeping the interoperability and stable release you talk about above then you’ve managed to confuse me. How realistically can you have some startup rip Nova apart and replace parts of it (all of it?) with the greatest big thing and keep the thousands of users out there with a happy upgradeable path, interoperability and stability? This is just impossible to reconcile. Startups cannot innovate on something that is mature and in production. It would be like asking Apache HTTPD to be something else. Guess what: nginx happened outside of Apache and it’s only natural. As a parallel to OpenStack, if someone comes up with a better Neutron, written in Go or Rust, and wide support I’m ready to bet it will be admitted in the big tent rapidly.

    Let me tell you why I think that OpenStack is at least as friendly as any other business environment, and maybe more:

    1. Corporate sponsorship for startups is low, a lot lower than for big corporations. And there are ways to lower the admission price even further (just ask).
    2. The ecosystem is now so huge that cool startups innovating on the edges can get exposed to potential customers, investors and buyers very quickly (the megaphone works).
    3. The ‘cloud’ space is so rapidly changing that the big guys cannot keep up and count on startups to do the risky experimentation. There are lots of big companies in OpenStack, I suppose there are opportunities to find good contacts.
    4. The OpenStack Summits have a whole track dedicated to startups, with talks about funding, business, strategies, acquisitions and more.

    And finally a reminder: all startups operate in extremely unfriendly environments, most startups fail for various reasons.

    The recent exits of companies that innovated on the edges when OpenStack was held together with shoestring and spit as glue are to me a confirmation that the edges where innovation can happen are just moving outside of Nova and Neutron. It’s just normal and to be expected with the maturity of the project.

    Let’s celebrate and be happy for Piston and Blue Box and the others. Startups will always be welcome and will always find a good home in and around OpenStack.

     
  • stefano 3:19 am on November 13, 2014 Permalink |
    Tags: , , , openstack, , ,   

    Tips to improve organizations contributing to OpenStack 

    The slides of my presentation at OpenStack Summit in Paris 2014 (download ODP source, 9M).

    And the sessions’ recording:

     
  • stefano 3:19 pm on September 25, 2014 Permalink |
    Tags: , contributions, openstack,   

    How is your OpenStack team organized? 

    I’ve been collecting a lot of good insights talking to directors and managers about how their companies are organized to contribute to OpenStack. For geographic reasons I have mostly gathered comments from people between San Francisco and Silicon Valley and I’d like to expand the research.

    I’m especially interested in learning about internal processes, system of incentives, things that impact performance evaluation for engineers contributing to OpenStack.

    To expand the research I’m asking the OpenStack community to fill in this brief survey or contact me directly (stefano openstack.org) for a quick interview.

     
  • stefano 3:22 pm on August 4, 2014 Permalink |
    Tags: , , contribute, , , open innovation, openstack   

    How do companies do OpenStack? 

    I’m cruising Silicon Valley these days asking “how does your company do OpenStack?”  to collect best practices and notable mistakes from various leaders of OpenStack corporate community. I’m hoping to build a ‘how to’ manual to help managers build better dev teams, more effective at collaborating while shipping products to their customers. This is an effort that goes hand-in-hand with training new developers with Upstream Training and other initiatives aimed at sustaining OpenStack growth.

    I often have to explain to managers of OpenStack corporate members how and why to contribute to the project. The level of complexity reached has now exceeded the simple answers, like ‘fix simple bugs’ or ‘read the wiki pages’. For example, the participants to the Upstream Training in Atlanta had difficulties finding low-hanging-fruit bugs to work on: by the time they were ready to commit, someone else had already fixed it. Too much is going on at the same time, newcomers are confused at many different levels.

    While we will keep training developers through Upstream Training (and other initiatives), we’re going to start talking to managers too.  I’d like to know how development teams are organized, how they balance shipping products to customers with contributing upstream, what incentives are in place that help or prevent contributions to go upstream, how career paths are influenced by contributions to the open source collaboration, etc.

    If you’re managing a team of developers or devops, you’re a CTO, a HR executive or are managing in any way a team of engineers contributing code to OpenStack, I would like to talk to you: email me and vote for my talk proposal “How to maximize effectiveness of your developers contributing to OpenStack”.

     
    • miko matsumura 12:19 pm on August 5, 2014 Permalink | Log in to Reply

      I would like to talk with you about Hazelcast an Apache licensed open source In-Memory elastic data and processing grid. I am wondering if there might be a way for us to contribute/collaborate with open stack

      • stefano 9:11 am on August 6, 2014 Permalink | Log in to Reply

        Hello Miko, I’m sure there is a way to collaborate :) Hop on IRC freenode.net #openstack-community and we can have a chat. Or send me an email.

    • Jean-Daniel Bonnetot 8:34 am on August 12, 2014 Permalink | Log in to Reply

      “email me”
      Yes, but where? :)

  • stefano 11:17 am on July 14, 2014 Permalink |
    Tags: blueprints, bugs, , , openstack, operators, users   

    Only developers should file specifications and blueprints 

    If you try to solve a problem with the wrong tool you’re likely going to have a frustrating experience. OpenStack developers have been using the same workflow to plan and manage development of OpenStack software over time, they chose a set of tools appropriate for the project’s software development. Developers use blueprints define the roadmap for the various projects, the specifications attached to a blueprint are used to discuss the implementation details before code is submitted for review.

    These are the tools for the developers and this doesn’t mean that blueprints and specifications are the only way to interact with developers. Operators and users in general don’t need to dive in the details of how OpenStack developers organize their work and definitely should never be asked to use tools designed for and by developers. When I read ‘s post the place of a non-developer in the openstack community I immediately felt her pain: she was asked to use the wrong tool to solve a problem. I think this case is a major misunderstanding but the comments on the post signal that this is not an isolated case.

    The most common way for a non-developer to highlight a flaw in OpenStack is to file a new bug report. Bugs can be defects that need to be fixed  or they can be requests for enhancement. In this case, Dafna filed a bug report and interacting with the triager, they agreed that the reported bug was not a defect per se but more of a request for enhancement, a wishlist.

    In order to fix a defect or implement a wishlist item, developers need to file a blueprint (and a specification) before they can start writing code. If the person who filed the original bug report is also a developer then s/he can go ahead and continue carrying on the process, file a blueprint to solve a bug # and write specifications (when needed) to describe the details of the implementation. Users interested in the bug can chime in adding comments to the bug and to the specs, provide input to developers.

    The process above works in similar way when the person filing the bug is not a developer, like in Dafna’s case. The proper flow of bug #1323578 would have not required Dafna to file a blueprint and specs, but to have a developer do that. Users are required to interact closely with the developers to discuss the implementation details, and that’s where the new specifications process helps. Gerrit may not have the best UI but it’s definitely better than holding discussions on a mailing list. Adding comments and holding conversations with the developer assigned to resolve the issue, on the bug report itself is also a valid option.

    While I think that as a community we have plenty of ways to improve how we include users and operators in our conversations, in this particular case, I think frustration came from being pulled in the wrong place from the beginning.

    PS: To be super-clear, in this post I’m using the terms developer and operator to describe a role, not a person. One person can be at the same time a developer and an operator, and act at times as a developer writing blueprints, submitting code and as an operator filing bug, giving comments to specifications.

     

     
    • Stephen Balukoff 2:38 pm on July 18, 2014 Permalink | Log in to Reply

      So, while an in-depth reading of your article here makes it clear that your comments are meant for developers– that you are saying developers shouldn’t push non-developers to use tools only meant for developers, both the title and several parts of your article can be interpreted to say “stay out of my kitchen” to operators and users. I would suggest altering the title to say something less exclusionary to these other 2/3rds of the OpenStack community. (Something like “Developers should not send non-developers to launchpad or gerrit.”)

      Having said this, I really feel like your article somewhat misses the point of Dafna’s blog post: In my reading she was frustrated because she was not able to contribute to the discussion, and her opinion was considered value-less unless she was willing to go through the (for her, arduous) task of learning two new systems which are neither user-friendly, nor particularly suited to the kind of discussion she wanted to have.

      Your post reads to me somewhat like “there are tools non-developers should be using to communicate with developers, and these are not the same tools developers will use to communicate with each other.” To me this is akin to the cooks getting angry at the waiters and customers for coming into their kitchen whey they have problems or suggestions. That’s all fine and dandy– so long as the cooks are actually providing good tools the waiters and customers can use to communicate to them, and using those tools themselves. I read Dafna’s point being that this obviously wasn’t happening, and instead what was effectively red-tape was being used to make her go away.

      If the OpenStack community wants to change this reputation for being exclusionary to operators and users, then this is exactly this sort of thing that needs to be worked on! Unfortunately, I don’t think the way you worded your article is helping much here. :/

      Also one point in particular in your article I feel I need to take issue with: “Gerrit may not have the best UI but it’s definitely better than holding discussions on a mailing list.” Actually, the mailing list is the perfect place to discuss ideas among a larger crowd of people when a major new idea or significant change is being contemplated. You’ve already said that Gerrit shouldn’t be used by non-developers, so if you limit these kinds of discussions to Gerrit only, then you are thereby ignoring any input that 2/3rds of the OpenStack community might have on the subject. This can lead to solutions which don’t actually meet operator or user needs at all, can lead to really poor design which then is a pain in the patootie to correct (given OpenStacks backward-compatibility policies), and certainly leads to OpenStack not being as good as it could be in the same amount of time.

      Also, I don’t think any search engine is indexing Gerrit (from what I can tell), and it’s far too easy for comments on early revisions of a patch to get lost forever when later revisions of the patch are uploaded for review (since Gerrit doesn’t carry comments forward– this needs to be done manually by attentive reviewers).

      That’s not to say Gerrit isn’t a good tool. In fact, as consensus among the community is neared on a mailing list discussion, it’s important for the details of that consensus to be translated into blueprints and specifications. Gerrit is actually probably the best tool we could be using when it comes to things mostly concerning developers (comments on specific lines of code, or specific details within a specification). But it is wholly the wrong place to be having design or feature-improvement discussions, especially with non-developer contributors like operators and users.

      • stefano 10:19 pm on July 19, 2014 Permalink | Log in to Reply

        Hi Stephen, I appreciate your comment. In fact, I think you have caught my intention quite well. I worded the title in such way exactly to get this sort of comments: I wanted the article to be challenged.

        I think that the *tools* that Dafna was told to use confused her and that’s wrong. She was put in a position to fail and that is not fair to any user. Her thoughts and comments could have stayed on the bug report or migrated to a mailing list, as you suggested, and eventually become a blueprint+specs lead by a developer.

        I think that OpenStack has done an incredible amount of work to include operators and users in the development loop. In the past 12 months I think we’ve visibly included operators into the decision making process, starting from the user survey to the work on personas and the UX team, the Operators Summits, the working groups within the User Committee and there is even more coming.

        As for the debate about Gerrit… Let me just hope that storyboard accelerates and becomes the tool we can use to discuss specifications. I voiced my concerns publicly against the specs repositories but at the same time, I have a hard time coming up with a radically better alternative.

    • Maish Saidel-Keesing 7:25 am on July 20, 2014 Permalink | Log in to Reply

      Hi Stefano.

      I have to agree with Stephen here. I too (not being a developer) find it very difficult to navigate the multiple tools and methods used by the OpenStack project to drive directions, changes, fixes and improvements.

      Let me count.

      There is Gerrit.
      There is Launchpad
      There is IRC
      There is the mailing list.
      There is Etherpad.
      There is the Wiki.
      There is the documentation.
      Oh yeah – there is even a support helpdesk (whatever that is used for)

      Perhaps I missed something here – but those are the ones that come to mind.

      Yes they all have their use cases, and one does not replace the other – nor should it, but the amount of information that flies across all of these – is substancial.

      And as a user/operator – it took me a decent amount of time to understand how to submit a patch – something as simple as an error in a config file.

      I still have problems getting my head around how the whole patch and voting system works, who has to approve, when, how, what is the difference between a +1, -1, -2, +2. What are the intricacies and clicks that need to be handled in order to get a patch submitted or re-submitted or changed. What happens when one core reviewer disagrees with another on my patch?

      What will happen if you are new – will someone work with you to get the change you wanted to submit (and are doing so – only because you want to help out) and approved?

      I have the feeling (and evidently I am no the only one) that the developers community think this is second nature to them – it probably is – and that those who do not know the language – the talk – the culture – are outsiders – and that they do not have the time / patience / incentive to teach them – hold their hand or walk them through it.

      I can personally tell you an experience of where I asked a question in IRC about features in LBaaS and if they existed or were planned. The question that was presented to me – so why don’t you start writing the code to implement these changes? My answer was I am not a developer – so my contribution on this part would not be helpful, the answer that I was given thereafter was “Forget it – we have enough architects and conceptual designers – we need people to make it happen”

      Developers are a different breed, for better or for worse. The feeling Operators/users have is that we are not involved – and therefore should stay out the way of the way the “magic happens”

      I for one would love to see that change. There is room for improvement in every single project – and developers could benefit immensely from the input of those who are actually deploying and using the product, in the real world.

      • stefano 7:11 pm on July 20, 2014 Permalink | Log in to Reply

        Thanks Maish. Let me make it straight: I, too agree with Stephen that the tools and processes we use are complex to navigate and such complexity may discourage *casual* contributors. I think this topic deserves a longer conversation than just a reply to a comment, I’ll try to follow up in the next days.

        I substantially disagree with the idea that OpenStack developers don’t want to listen to users: the truth is that things are a lot better in OpenStack than in most other software development projects and they also keep improving. Feedback from users and operators is constantly being fed back into the development process, via the user survey, the operator summits, the design sessions, the conversations on the mailing lists, the comments on bug reports, specs and blueprints. Sure, a lot more can be done, but I don’t accept general criticisms that OpenStack developers don’t listen to users.

        I would not generalize from one single comment on an IRC channel, you should consider a random conversation on IRC exactly like a chat around a pint at a pub.

        • Maish Saidel-Keesing 11:34 pm on July 20, 2014 Permalink

          Hi Stefano – If it came over that all developers are not interested in hearing what we have to say – then that was not my intention. Really not. I just wanted to re-iterate the comments and feelings that were voiced before. Of course I see improvement – exactly as you said – with the Operators conference – and the joint sessions- but there is still quite a way to go. I do still feel that the developers could make more of an effort to “embrace” the newbies – it will be more beneficial to us all in the long run term.

          I hope that the Foundation will continue to invest time, money and effort into this – it will make the product better for us all.

          I would be happy to assist in any way I can to contribute to the conversation.

  • stefano 10:04 am on May 28, 2014 Permalink |
    Tags: , openstack, velocity   

    Treat Open Source Like a Startup 

    This experience by Velocity.JS confirms the sense I had in OpenStack:

    I treated Velocity like I treated my businesses: First, there’s development. That’s 10%. Then, there’s marketing. That’s 90%.

    Treat Open Source Like a Startup ✩ Mozilla Hacks – the Web developer blog.

     
  • stefano 2:29 pm on February 5, 2014 Permalink |
    Tags: , gender, , , openstack, profile, sex   

    Tracking gender diversity in the OpenStack developer community 

    The OpenStack Foundation has always tried to increase genders diversity in our community: we joined the Outreach Program for Women, established clear policies for our summits and in general we’ve been actively promoting good behavior across the board. A few weeks ago I realized that we were lacking of a decent way to track our progress in gender diversity in the OpenStack developer community and decided to improve the situation.

    When Anne asked me for the number of women or non-male developers in OpenStack, I realized that we don’t have that number. When people register to become OpenStack developers they need to become members of OpenStack Foundation and have an account on Launchpad. Neither of them track gender information. The best number I had to offer was the t-shirt kind requested at our Summits. If you don’t measure it you can’t improve it, the saying goes. So we thought we need to offer the option for Foundation’s members to tell us their gender, if they want to. How do we ask for gender without being disrepectful to non-binary genders?

    We did some research, discussed them on the bug and adapted the best practices to our case. We wanted to keep the choice short and not to offend anybody by leaving out options. An open entry form leads to hard to use data (people have very creative ways to spell just about anything), using pronouns would have made translations a nightmare. We need a way to restrict options so we can easily count them in the database so the binary options male/female were set first and ‘Prefer not to say’ was soon added as another option, since it’s really not mandatory to disclose that information. For non-binary genders using “Non-binary” sounded too geeky to me; using ‘other’ sounds weird, borderline offensive. We came to a consensus on my suggestion to have an open entry prefixed by “Let me tell you”. I liked this phrase because I feel like “Let me tell you” empowers the member to own their own gender definition. The new form is now live so you can now register or edit your OpenStack Member profile and add your gender (if you want to).

     
  • stefano 1:02 pm on January 20, 2014 Permalink |
    Tags: , openstack   

    Why people contribute to OpenStack 

    A few days ago, I asked 55 OpenStack developers why they decided to submit one patch to OpenStack and what prevented them from contributing more. The sample polled people who contributed only once in the past 12 months, looking for anecdotal evidence for what we can do to improve the life of the occasional contributor. To me, occasional contributors are as important as the core contributors to sustain the growth of OpenStack in the medium/long term. Since it’s possible that the community has already already hired the best candidates among Python developers and system operators, to sustain the growth of OpenStack we need to tap into the wider Python community and experts of large distributed systems coming from other languages (Java, for starters). Knowing what hurdles new contributors face when they first join OpenStack is a first step to make onboarding easier and multiple contributions more frequent.

    People who replied are for the most parts users of OpenStack, that is developers and dev-ops people working on deployments of OpenStack for internal usage and system integrators who develop and deploy OpenStack for their customers. A third group of occasional contributors are developers of projects that use or are used by OpenStack, like Docker or Ceph.

    The top reasons to submit a patch went from the practical convenience of having patches maintained upstream, to fixing bugs (discovered during a proof of concept or in more advanced phases of a deployment) or to add/fix funcionalities to better integrate OpenStack with other projects. Finally, people contribute patches for personal growth and to enrich resumes.

    Why don’t they submit more? There are three main stumbling blocks. Legal hurdles delayed contributions, and even prevented (at least) one. The reasons for the delays range from NDAs with customers to incompatibility with corporate policies to release software under open source license and sign a Corporate Contributor License Agreement. Another group of reasons for the delay is the long time it takes for contributions to travel the review queue. The time it takes for patches to get in OpenStack repositories was mentioned more than once. Finally, the lack of simple issues to fix in the spare time: apparently the community fixes simple bugs too rapidly.

    The results cannot be considered representative but they seem to confirm that legal hurdles and speed of the reviews are preventing more casual contributions. While there are already many discussions on how to improve reviewing times, changing the way we handle contributions legally requires a massive endeavour to change OpenStack Foundation’s bylaws. The fact that simple issues to fix are hard to find is new to me: it may indicate that there are lots of people joining the community fixing these ‘low hanging fruits’ or something else. I think more analysis is needed in this area.

     
    • everett_toews 11:39 am on January 23, 2014 Permalink | Log in to Reply

      What? Nobody fessed up and admitted it was to get a free pass to the Summit?

    • tadowguy 6:32 pm on January 24, 2014 Permalink | Log in to Reply

      One of the reasons Ubuntu Harvest (http://harvest.ubuntu.com/) was created was to highlight easy opportunities for people to work on in Ubuntu. While it never reached it’s full potential, I think the theory is good. Perhaps a tool like it would help?

      • stefano 6:39 pm on January 24, 2014 Permalink | Log in to Reply

        I didn’t know about Harvest, thanks for bringing it up. One comment I heard is that the ‘low hanging fruit’ bugs are solved too rapidly for casual contributors to find/fix them or there are not enough bugs tagged properly.

    • twitter_tadowguy 6:41 pm on January 24, 2014 Permalink | Log in to Reply

      @Stefano, sorry I failed to include this before, took me a few minutes to find it, but look at this time to fix chart, it’s basically approaching zero.

      http://activity.openstack.org/dash/newbrowser/browser/its.html

      Last week I had a bug that I’d been working on (and was assigned to me) “taken” when someone submitted code that marked it as fixing it. I worked with the developer who ended up fixing it, but it was frustrating.

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel