When Chris Seiwald founded Perforce in 1995, software development was a very different endeavor. But through the years, as software has changed, so has Perforce. When Git arrived on the scene, the company embraced it and included it in its main product. As Dropbox, SharePoint and other services grew in popularity, Perforce added Commons for non-technical users to access SCM-stored assets.
We sat down with Seiwald to chat about just how far the company has come, and where the future of SCM and development management is headed.
SD Times: Perforce is able to handle giant projects. Are they becoming more common?
Chris Seiwald: We have customers who store 270 terabytes of stuff, but that’s still small compared to what we manage. All we manage is the work of human hands. Big Data often refers to the digital trail people have left behind. Big Data is Big Brother. Even though we’re big in one scale, it’s important to distinguish between the stuff people care about.
The thing we do really well with is when people are producing big content by human hands. The source code is such a small part of the overall amount of what people store in our system. It’s almost like the easy part. It’s always an issue of what do we do with the much larger part. Digital images, sounds, intermediate products, testing scripts, testing data… When you build the stuff, you have these assets that are not products of the original source, but they’re very important to you.
We’ve got whole virtual machines checked into our system and versioned. That stuff gets big. These things just get bigger and bigger. That’s one of our biggest strengths.
How do you see the ALM market evolving?
ALM is a term that’s kind of waning, I think. Continuous Delivery is on the rise. ALM has that feeling of management. You get the job at the company, it grows up, and suddenly they start slapping ALM on you. It sounds heavyweight.
In the whole software delivery life cycle, there are all these pieces, and we can store it all. There’s kind of a land grab for who wants to manage your software development life cycle, and we can manage it all. If you’re using Git, you can handle it up to 2GB, but if you get too big you have to go to multiple repositories.
Android has 386 repositories in Git. They take the 386 Git repositories and put it in Perforce because they want to be able to deal with that volume of data all in one place. The size of the original source code, the binary content, the chip designs, they all need space. Where do you store your tests? They’re huge. They have to evolve with everything else. How do you manage your sales deck? People scatter data in different places, but if they use Perforce, they keep in one place.
Is Continuous Delivery the hot new thing, then?
Continuous Delivery is definitely on the rise. We have a great platform for Continuous Delivery. It’s almost like we were in the hosting service platforms on the Internet and someone came up with the term “cloud.” People have been using us for continuous integration for a long time, but the term has only existed for a few years now.
We have integrations with tons of different products, but we also see it as a great way of taking it to other companies and other disciplines. There are non-software company doing CI using Perforce. NVIDIA is doing CI for chips in the Tesla.
(Related: Continuous Delivery adoption rates rising)
One of the interesting pieces of Continuous Delivery is that the developer is at the head of the pipeline. Generally, it has to go through the developer. The developer controls a lot. We’re doubling down with our Swarm code-collaboration tool designed around right where the developers live their lives now. Developers really don’t have reason to go anywhere else, but they have to be part of their Continuous Delivery.
So people are using your tools to do document management and workflow?
I think it’s sort of organic in our customer base. They have been using it for source code, and we come back six years later and we see it’s taken over their content management, SharePoint, or Dropbox. Everyone has point solutions. No one is going to use Dropbox for everything. They can’t store in Git for everything because it can’t manage deployment of the artifacts. They use Artifactory.
The New York Stock Exchange develops software in Perforce, then uses the product to deploy to the systems that run the trading floor. They’re using the system to make sure the binaries they’re running are the binaries they thought they’re running.
We did a survey of our customers. Everybody was storing source code, but a huge number store business documents, video, images, etc. We haven’t sold them on that idea. I think once people taste versioning something in software development, they realize how important it is to their workflow.
We even have finance people using it. Commons is our easy interface. You drag and drop files in and out, and it takes care of revisioning. It’s Dropbox-like. The thing it does is it puts a mark in the file name so if the file makes its way out, if it ever comes back to you, we can remarry that doc with the original. Normally to check in version 2, you have to find version 1. With Commons, it can say, ‘Oh, this is the file you did last week.’ We can even do intelligent diff and merge on Word documents.
One thing we do with Commons internally is when we have our all-hands meeting, we had everyone drop their presentations into it. We don’t have to worry about editing the decks at the last minute. No one had to write an all-hands meeting documents system, but it filled that role.
Commons is for orphans of the document-management world. People often talk about having the wrong version, but no one ever thinks using the word “version” is a solution to the version-management problem. Look for a solution with versioning in the name.