Open source means a model's source code is publicly available: training code, architecture and ideally also the training data. Anyone can rebuild the model from scratch, audit it and adapt it.
Open weights only means the trained model parameters are available for download. How the model was trained, on what data and with what code, often stays closed.
In practice: with open weights you can host and run the model yourself right away. With open source you can additionally retrace it from scratch, replicate it and retrain it on different data. Most "open" AI models such as Kimi, Mistral and DeepSeek are strictly speaking open weights, not open source. They release the weights but not the full training pipelines.