Developers are finally playing the long game. In the past, the quality of code didn't matter as much. Sure, maybe our 1998 shooter was kind of slapdash if you looked at the source code, but that was fine. By 2001 we'd have thrown most of that code away and replaced it with a new batch of tricks. Code was relatively cheap and disposable. (It's actually bad to write sloppy code, but it's easy to make the mistake of overlooking code discipline when you know another re-write is just around the corner.) Today when you write some code you need to keep in mind that it's going to be around for a long time. You can't half-ass it, because people will likely still be using the code a decade and a half from now when they're developing on the Playstation 5 and the Xbox Two-sixty. (Or Xbox Zero. Or whatever they call it. Seriously Microsoft, did you think this through?)
In short, you can't just look at the source code for the Unreal Engine 4 and run off and make your own. Not unless you've got several talented developers and a decade to spare. It's literally cheaper to license Unreal Engine 4 than to steal it. (Assuming you're not just going to copy & paste the code and pretend you wrote it yourself. That would be incredibly easy to detect. You can't just change a couple of files and expect that people won't notice your art path, filesystem, scripting, and asset storage are all exactly the same as one of the most popular engines on the market.) You can steal the formula for Coke (again, assuming you want to and that it would matter) but you can't "steal" the entire manufacturing, bottling, shipping, and marketing apparatus of the Coca-Cola company.
This is an interesting and shrewd move on the part of Epic Games. While blockbuster AAA games aren't going anywhere, they are becoming a smaller part of the growing whole. We have more indies, more mobiles, and more web-based games than ever before. Charging people $60 for a game isn't the gold mine it used to be, and it turns out there's a lot of money to be made selling $10 games and $5 games in volume. This move will potentially put the engine in the hands of many indies who could never otherwise afford something high-end like this.
The other thing that makes this a smart move is that they're making it easy to use the Unreal Engine as the default educational platform, where the network effect could drive it to ubiquity. If it's cheap, then game dev schools will use it to teach. If that's what people learn in college, it's what they'll prefer to use once they enter the field. And if everyone is using it, then companies are more likely to choose it for their games because it will be easier to hire experienced people. If this plan works out, then there could come a day when most developers use Unreal by default. Maybe the $19 a month is small, but there's likely a good bit of cash to be made as "the Microsoft Office of games development".
Will indies use it? I don't know. I wouldn't, but I tend to write my engines from scratch because I'm always mucking around with low-end procedural stuff. If I was a real indie dev who cared about shipping a game, this might look really appealing. Then again, AAA engines like this can be expensive to use, even if the engine itself is nearly free. There's a reason so many indies make 2D side-scrolling platformers. It takes a lot of time and expertise to make a high-poly, normal-mapped, fully-rigged and animated human figure and get them into a 3D world. Sure, it happens, but it's the exception rather than the rule and I don't think this will change that. On the other hand, you don't have to make a shooter just because you're using the Unreal Engine.
I don't know what indies will do with it, but this is an exciting move. We'll see how it works out in a couple of years.
Shamus Young left behind the glorious world of 3D programming to write a blog. About 3D programming.