SalesforceDX and non-commercial applications

Yes, customers can use DX internally to develop and test their changes. Here's what I've gleaned after playing with it a bit:

  1. Production is the dev hub. This doesn't mean you are doing development in prod, it is just the org used to determine how many scratch orgs you can have at a time. (At this point, licensing is still unclear.)
  2. Scratch orgs will replace developer's sandboxes for building out new features. Sandboxes still have a place for UAT and release management.
  3. You can't use DX to push diffs to sandboxes or production orgs. You'll still need to use the metadata api. DX provides a tool to convert to and from the metadata API format.
  4. For release management, I still haven't quite figured out what I want to do. I'm leaning towards have a sandbox that gets all the metadata pushed in as it is checked into source control, and then doing a push from there to prod either using change sets or the metadata api.