Open Enterprise Interview with Ryan Bagueros, North-by-South
- 19 June, 2008 12:40
Like the future, open source is already here, it's just unevenly distributed. In particular, Latin America is emerging as a real hotbed of not only free software coding, but free software uptake by governments - to an extent that puts the UK's pathetic bumblings in this area quite to shame.
South America has another notable property alongside this hectic hacking: it's in more or less the same timezone as the US. This interesting collocation of capability and convenience caused a lightbulb to go off in the head of Ryan Bagueros a few years back.
He realised that sitting on America's doorstep was a positive hotbed of cool coding talent, who could be employed for far less than your average Yank hacker. Putting two and two together - or rather, Latin America programmers with North American companies - Bagueros set up the innovative North-by-South (NXS) "near-shoring" company that aims to connect those two parties for mutual advantage.
Here he talks about the genesis of the idea, how to create and manage distributed development teams, the advantages of using programmers based in Latin America, and why free software is so damned successful in that region.
What's your background? Why did you decide to start North-by-South?
My background is that I grew up in a steelworker family in north-east Ohio (Cleveland-Akron-Canton) as the steel industry there was being destroyed. I got a computer when I was 10 years old or so and a few years later I got a 1200 baud modem. I got on BBS'es and fell in love with the communications medium. I was heavily involved in the 216 BBS community. I taught myself programming and when I got out of high school, I was a little naive about what I could do with my programming skills. I worked in construction until I discovered that I could make money programming.
I moved to Dayton, Ohio and founded an Internet business there called NiteOnTheTown.com - I put Linux on old 486 machines, attached a webcam, and set them up in Dayton-area bars. The idea was that you could see what was happening at the various bars, pubs and clubs before you went out for the night. I still was a little naive and didn't realize I could be making a lot more money in San Francisco. As it happened, my girlfriend moved to San Francisco for school and I went with her in 1999 and was immediately in demand for my programming skills with Linux, Perl, etc.
At the same time, I got involved with people developing software tools for independent and freelance journalists. Coming from Ohio, there was an explosion of culture I was getting used to. So, during the day I was working on professional web development and at night, I was working on a number of open source projects that involved publishing audio, video, photos, etc. This was in 2000 so that concept was really new.
In Latin America, these tools were being heavily used by freelance journalists who were documenting various big events - the collapse of the Argentine economy, the attempted coup in Venezuela, protests against water privatization in Bolivia, so it was exciting that the software we were building was being used every day by thousands of people throughout Latin America.
I started working a lot with Latin American programmers and sysadmins because we were hosting the software here in San Francisco. So, literally every day, I was working on IRC with open source programmers in Latin America on development and support of a bunch of different web publishing tools and other software projects. The software was really integrated with what they were doing and so if a server went down or something, a mob of Latin Americans would rush into IRC to get the applications back online.
At the same time, I was moving up as an engineering manager at an incubator-type company in San Francisco, which launched Tagged.com (amongst many other websites) and eventually I was Director of Engineering at that company. While I was doing this, the free software movement in Latin America was really taking off, with Brazil leading the way via a presidential decree that mandated a migration to open source software.
So, a lot of the Latin American programmers I was working with took jobs with the government, either getting involved with the migration efforts or initiatives like "Digital Inclusion" in Brazil (an ambitious effort to bridge the digital divide by building computer labs and doing trainings, all based on open source software, even in remote locations of the Amazon).
Well, in 2006, we decided that all of us who had been working together would hold a meeting in Sao Paulo, Brazil. After six years of working together on a daily basis, many of us were meeting each other face-to-face for the first time. At that meeting, which was really a great time, we had a chance to really talk about our personal lives. The Latin Americans couldn't believe how much money web developers made in San Francisco. And I was floored by the incredible free software movement that was happening there, seeing it first-hand. And we started talking about how we had really perfected geographically-distributed development with our open source projects and we decided that we would try out getting jobs in San Francisco and working together to get them done.
We started doing that and it worked! I wrote an article for O'Reilly's online magazine about the technology we used for remote development - that technology has changed a lot since I wrote that article, but the fundamentals haven't changed.
Well, as we did more and more jobs, I started using all the contacts I had in San Francisco to build a core management team here that could get jobs, my friends in Sao Paulo started organizing more and more of the developers we knew, and we started really doing it. I was lucky that a handful of really talented people here in San Francisco loved the idea and got involved.
Through those relationships, we connected with an investment firm who put in just a little bit of investment money, mostly so we could get some breathing room and be a little more selective about which clients we'd work with. And that brings us up to date with today, with NXS in full swing and doing a number of really exciting development projects.
How does North-by-South operate? Where are your offices? How are the teams structured and operated? What technologies do you use for managing projects?
Then, we've got a core team in San Francisco of experienced industry veterans who get the jobs and do the project/technology management. I'm very lucky that Natalie Ammirato, by far the best project manager I've ever worked with, loves the NXS concept and she's part of the SF team. I'm also lucky to be married to an extraordinary woman from Brazil who I've been close friends with for 10 years or so, Isabela, who helps manage communication with the Developers Network. Finally, I'm lucky to be advised by an experienced executive, Jonathan Shambroom, who is currently General Manager of Sony's internet TV network, Crackle.com.
When we come into contact with a project, our team in San Francisco meets with the project owners and figures out what they want to do and we start to plan everything out. Once we've done that, we announce the project via an internal mailing list, custom-build a team from our Developers Network and then we get to work.
Because we're organized like this, we carry almost no overhead. We only pay people if NXS is getting paid and this is another cost savings that we pass on to our customers. Our goal is that we always have enough projects going on that NXS can be like a full-time job for the developers if they want it to be. Or, if they want to take a break between projects, they are free to do that, as well.
Another innovation is that our main office is an IRC network. Our developers work from wherever they are the most productive. Especially in a city like Sao Paulo, known for being a commuting nightmare, this is a huge advantage for our teams. We also use video/audio teleconferencing when necessary. IRC offers advantages over traditional office settings. For example, no conversation is ever "lost" because two people are talking about it at the water cooler. Everybody can read the backlog to get caught up.
That said, we do have a physical hub in downtown San Francisco in the South of Market area for meetings with project owners. We also have a physical hub in Sao Paulo, Brazil. This deep relationship with an emerging "BRIC" economy is another innovation (at least, this trend gets talked about a lot in the business press lately).
During the project, usually I'm the technology manager and Natalie is the project manager. So, the customer has a local contact who they can talk to at any time. Most projects also have an engineering lead in Latin America. We start meeting on IRC around 7AM Pacific time every day to plan out what's going on, check in with each other, ask/answer questions, etc. Then, we all get to work and keep in touch via IRC. We have a general IRC channel and an IRC channel for each project.
As for technologies, we mostly run the development side of projects like an open source project. In addition to IRC, we also maintain mailing lists for each project for discussions that are appropriate for e-mail (we use Mailman for this). This makes sure everything is archived and if the customer later builds an internal development team, their incoming employees can get a verbatim record of everything that's happened. We use Bazaar as our versioning system.
We also use Trac which I've fallen in love with. Trac is useful because the customer can see everything that's happening via the timeline feature, we manage the dev roadmap/milestones here, all product and tech specs live in the wiki pages, it supports Bazaar so there's a full web-based interface to the code branches and there's built-in bug/task ticketing. We also have an IRC bot which reports changes on Trac in real-time to the project IRC channel. Unfortunately, Trac is still lacking internationalisation but it's coming - we're too busy right now to help out with that ;)
Where do your customers come from?
Currently, our customers are almost all from San Francisco or Los Angeles, which just reflects where the SF core team's relationships are based. However, we've noticed that more and more of our customers are geographically-dispersed themselves - for instance, we have a client with a person here in SF, their CEO is in New York City, and others spread out in other locations. A lot of potential customers we're talking to right now are more dispersed as more people find out about NXS. So, we're talking with a firm in Atlanta, a web design agency in Spain, an NGO in Belgium, etc. But, there is more than enough business here in San Francisco to keep us pretty busy for a while.
What are the advantages of using programmers based in Latin America? What are their particular strengths, both in terms of coding and otherwise? Any weaknesses?
One of the primary advantages is the time zone difference. Our developers are only 1-4 hours ahead of us so our work days are about the same. This is a big difference from working with India/Eastern Europe where they are always in "tomorrow" and it takes a lot of management effort to deal with that difference. For us, we're basically working with the East Coast and this is a big plus.
In many of the articles I've read in the business press about the up-and-coming trend to "near-shore" to Latin America, business culture similarities and reduced language barriers are mentioned a lot. It is true that most our developers speak English really well (and I can read/write Portuguese and, with a lesser skill level, Spanish).
But, that's all secondary to the main advantage I emphasize about working with Latin American programmers: all of our developers are part of the incredible free software movement happening in Latin America, supported by progressive government initiatives. We are giving companies access to open source developers who would be making 6-figure salaries if they lived in San Francisco. But, they live in Latin America where cost-of-living is less and there's some benefit from the currency exchange so we can make them available at significantly discounted rates while still paying them above-market rates for where they live. Our developers have significant experience with open source technologies because free software is literally sweeping across Latin America.
Many of our developers have worked on open source migration projects for the government or enterprise, state-owned IT firms. That means they've all got a lot of real-world, enterprise/government-level experience with Linux, Plone, Drupal, dotProject, PHP, Python, Ruby, etc. That's something that other off-shoring locations just don't have which is this extraordinary social movement towards open source software. We maintain a news website about the free software movement in Latin America.
This strength, though, is what I would say could be the potential weakness. Our projects are competing against jobs that might pay less but are more personally fulfilling. For instance, working on building educational computer labs based on free software for areas afflicted by poverty is more rewarding than "yet another social networking site" from Silicon Valley. However, part of the reason we took some investment capital is so that we could be selective in the projects we work on and I think we've done a good job of taking on exciting, innovative projects. At least, we haven't had any problem staffing a project yet.
How many coders do you now work with in Latin America? Is it getting easier or harder to find new people/new skills?
Right now, we have between 35-40 developers in the network. As we do more projects and Latin America programmers see that they can live a flexible lifestyle making good money working on projects using free software in San Francisco, more and more people want to become involved. NXS is also an effort to materially support the free software movement in Latin America. So, there is a momentum building with NXS right now - more and more developers are becoming involved, more and more companies in San Francisco are finding us as a solid alternative to other development options, and we're continuing to scale out our model. So far, we don't have many "strangers" in the network.
They are all people who we've worked with in the past and there are about 25 - 30 more people like that who want to become involved. After that, we'll have to start working with people we don't necessarily know. Brazil, in particular, is a very social country and we know a lot of open source developers there. So, right now this isn't a problem.
Aside from paying people for their work, do you make any other contributions to free software there? Do you contribute code back to the projects whose work you use? What licences is the work you do for customers released under?
We want to do more work which contributes actual code back into the free software community but, right now, I'd say our main contribution is providing Latin American free software programmers with a lifestyle that enables them to have more time to spend on open source projects. We definitely encourage our customers to contribute code back into the community but there is some resistance to that. The work that our developers have done for the government or related IT firms does get contributed back into the community and we want to do that too.
But, honestly, a lot of the work we've done to date hasn't been anything that would be that great of a contribution back into the community anyway. However, we have a couple CakePHP projects starting and we're definitely going to be pushing our customers to release some of the extensions we code back into the community (explaining that doing stuff like this can only help their brand). So, this is a goal we have and we're working on it.
What have been the key moments in the rise of open source in Latin America? Why do you think open source has such a strong foothold there? How far do you think free software will go in these countries?
There are a lot of key moments! I would emphasize Brazil's leadership in the Latin American free software movement. Brazil's President "Lula" da Silva's decree to migrate the government to open source was a key moment. Credit also goes to people like Marcos Mazoni, one of the earliest public officials to advocate for a shift to open source and also a dedicated manager who made it happen at SERPRO (the largest IT firm in the southern hemisphere) and has now been appointed to head up the federal technical committee to implement free software.
Brazil's Digital Inclusion initiative is also key - this impressive program has put open source computer labs all over Brazil, including remote areas of the Amazon only accessible by boat. In some parts of the Amazon, the open source VoIP provided by satellite internet is the only telephone access for those communities! More recently, Brazil's announcement at FISL9 that they will build 53,000 educational computer labs serving 52 million students using Debian and KDE is phenomenal.
But it isn't just Brazil. Venezuela has also been a leader in free software adoption. I attended the World Social Forum in Caracas in 2006 and watched literally dozens of working class Venezuelans come by to have free software installed on their desktop machines. While in Caracas, I also met with people in charge of the migration happening there and they had direct access to the president and his staff.
Apparently, they told the president's staff that it would be helpful to have a car or something to get around Caracas with instead of taking cabs all the time and the next day, they were given three brand-new SUV's to use for their team! The Venezuelan open source migration managers were serious about open sourcing everything - from the software that makes the traffic lights in the city work to open source device drivers for medical technology like heart monitors.
President Rafael Correa of Ecuador invited Richard Stallman to meet with him and there has been a presidential decree to migrate to free software in Ecuador, as well. Cuba has also been a leader in pushing for free software adoption. There had been resistance within the academic community in Cuba but the University of Havana recently announced that they would fully back a free software migration within the university system there.
During the Argentine economic crisis when the government kept collapsing and people couldn't get their money out of banks, neighbourhood "asambleas" started to form to take over where the government could not anymore and all of their voting and decision-making was done via open source software systems.
And these are just bits and pieces of an incredible movement happening over the past decade. There's so much more to it than what I could communicate here. I feel very lucky to have been a part of it and to now be in a position to materially support it. And companies in the Bay Area should feel lucky that this movement has created an enormous pool of developers who can help them fill engineering positions during a time when quality programming help is very difficult to find, especially at a good price.
The reason for the strong foothold is very practical. First, there are issues of sovereignty and security. Would the US government use a secret and proprietary software platform from another country to organize themselves? Of course not! Second, before open source, businesses/governments in Latin America were either paying for licensing or exposing themselves to liability by running on pirated software. For a developing nation facing issues of class stratification and extreme poverty, paying Microsoft millions of dollars for a piece of paper that gives them the "right" to use their software just doesn't make sense.
In addition, it's important to keep in mind that this generation of Latin Americans were just little kids when the dictatorships of Latin America started to fall apart. My wife was 6 years old when the military dictatorship in Brazil ended. It is this generation, mentored by leaders like "Lula" da Silva who fought and suffered in opposition to those repressive regimes, who are now shaping the future of their countries. There is a real sense of open-ness in Latin America - a sense of "never again will we let that happen here" - and the underlying philosophy of open source is a natural fit into that way of thinking.
I can't predict what will happen with free software in Latin America as the years go on. I see it becoming very institutionalized within society and I hope that means there isn't going to be some kind of reversal. All I can do is participate as much as I can to help the movement. If I can provide US business with access to this incredible resource of top-quality programmers while at the same time supporting this movement, then I'm going to do everything I can do to make that work.
At the same time, I hope I can export some of this movement back here to the United States. I go to Ohio and I see schools that are falling apart and don't have the money to educate kids properly and I have to wonder how Brazil can offer advanced technology training to 52 million students but schools in Ohio are running Windows 98, filled with spyware.
What can the rest of the world learn from Latin America's experiences of adopting open source?
The rest of the world is learning. For instance, Brazil recently co-operated with South Africa to host Brasil Tech 2008 in Johannesburg, a conference with talks such as "How Brazilian technological advances can be adapted to South Africa's needs" ... so, the Latin American model is spreading to Africa, and India is starting to show the beginnings of a similar movement and even Europe is starting to take advantage of free software. It is difficult to argue with the pragmatic logic of what's happening with free software in Latin America and it only makes sense that it will be copied around the world.
How do you hope North-by-South will evolve in the future?
Our immediate goals are to expand our Developers Network to 100 people by January 2009. We want to take on more projects and involve more people. In August, we've been invited to a regional summit of governments in Brazil who are gathering to discuss free software and we're honoured to be involved in that. We'd love to do work with governments in Latin America.
So, we hope to just keep scaling out our model, working with more businesses in the SF Bay Area, helping more businesses leverage not only free software but also the top-quality Latin American programmer community. It isn't easy to build the kind of relationships necessary to make a network like this work and we see ourselves as being in the unique position of being able to do it. We're a unique combination of skill sets, experience, and relationships and we're the ones who can make something like this work and so far, that has proven to be true. And we're excited to scale it out as much as possible!