On 2025-01-31 21:14:23, raiden00pl wrote: > > No, just be super careful designing API to "userspace" and once commited > it > stays. Forever. Bad APIs will remain. Posix does not remove bad APIs as > well. > That's why we still have "creat" instead of "create". Or we have 3 poll > APIs in > Linux (select/poll/epoll). You really want to change API, you build another > one, > and mark old one as deprecated, but you don't delete it. That would be ok if > Nuttx was <1.0.0, version, but it's >=1.0.0 so it should care about API/ABI. > Especially that it does not have to come up with API and just use what Posix > been using for decades now. > > I can't agree with this. Stockpiling legacy code degrades code quality, the > code > is harder to maintain and is harder to use by users. > I think there are cases where it's justified to break compatibility. > Especially if > the breaking changes for the users are easy to fix and detect, and the > interface > that is being modified has obvious flaws. And of course, everything should > be well documented. That is not excuse. Maintaining old API is not hard. Usually it's just a simple call to new API, which will not require further maintenence. You can even kick it to separate file so it does not break code aesthetics ;)
Inside nuttx repo you can break all the APIs you want. But outside of it this should not happen. NuttX it not crazy small project used by handful of people anymore. By publishing API now, you are making a contract with other developers. Break too many of such contracts and you have situation like with Sebastian. At least he was kind enough to share his thoughts with you so you can act. Probably many more people just quietly quit. Take expamles from other projects. I can update my openbsd with 0 issues. And if some breaking changes in configs are introduced you always get great documentation what has changed and how to prepare for that change. Creating something new is always fun and is easy. But you have to maintain it later thru the updates. There is a reason why I am not getting even close to ruby. I'd rather use clunky PHP which has some problems on its own, but it never broke my software/installation with updates, while with ruby based apps there was always struggle. Change just for the sake of change never worked out well for anyone. -- .-----------------.-------------------.----------------------.-----------------. | Michal Lyszczek | Embedded C, Linux | Company Address | .-. opensource | | +48 727 564 419 | Software Engineer | Akacjowa 10a; 55-330 | oo| supporter | | https://bofc.pl `----.--------------: Brzezinka Sredzka PL | /`'\ & | | GPG FF1EBFE7E3A974B1 | Bits of Code | NIP: 813 349 58 78 |(\_;/) programer | `----------------------^--------------^----------------------^-----------------'
signature.asc
Description: PGP signature