Code is a single input and is cheap to compile, modify, and distribute. It's cheap to run.
Models are many things: data sets, data set processing code, training code, inference code, weights, etc. But it doesn't even matter if all of these inputs are "open source". Models take millions of dollars to train, and the inference costs aren't cheap either.
edit:
Remember when platforms ate the open web? We might be looking at a time where giants eat small software due to the cost and scale barriers.