Agree! This will end this discussion! And it will make it clear what
algorithm was used.

BR,

Alan

On Wed, Apr 9, 2025 at 9:07 AM Nathan Hartman <hartman.nat...@gmail.com>
wrote:

> I think the real problem here is that the function is called crc16() with
> no details about which CRC polynomial is used. Maybe it's better not to
> have this function at all and to have *only* functions with names like
> crc16ibm() or crc16ccitt(). Then it is much more clear what CRC is being
> called in other code and there will be no risk of breaking compatibility in
> the future.
>
> On Wed, Apr 9, 2025 at 5:44 AM chao an <magicd...@gmail.com> wrote:
>
>> Seriously, I have no interest in crc16 at all, and I don't think your 15
>> years of experience in cryptography deserves my respect.
>> These are all old technologies. I just want to help people who have
>> problems in Nuttx.
>> I also hope that every time someone asks about the implementation of
>> crc16, you can reply to them as soon as possible instead of hiding behind
>> emails.
>>
>> I won't reply to any messages from you anymore, I wish you all the best,
>> thanks.
>>
>> BRs,
>>
>> Sebastien Lorquet <sebast...@lorquet.fr> 于2025年4月9日周三 17:17写道:
>>
>>> Why are you so unwilling to change your opinion?
>>>
>>> You are ready to break nuttx just for your comfort, in whatever way it
>>> may take to advance your own agenda. That is very political.
>>>
>>> I dont like that.
>>>
>>> We need a consensus, and a majority of this thread is against the change
>>> you want to make. So it should be cancelled.
>>>
>>> Rememeber this thread is a vote. My vote is No. Close the pull request.
>>> Do another one that has chances to be consensually accepted. Let's vote
>>> again.
>>>
>>>
>>> I will paste the quote that Greg posted in the thread about the modlib
>>> change:
>>>
>>>
>>> Rules for voting are a little different for code changes.
>>>
>>> The required Apache voting process is here:  
>>> https://www.apache.org/foundation/voting.html
>>>
>>> For code changes, that document says:  "Votes on code modifications follow 
>>> consensus 
>>> approval<https://www.apache.org/foundation/glossary.html#ConsensusApproval> 
>>> <https://www.apache.org/foundation/glossary.html#ConsensusApproval>. In 
>>> this scenario, a negative vote constitutes a 
>>> veto<https://www.apache.org/foundation/voting.html#Veto> 
>>> <https://www.apache.org/foundation/voting.html#Veto>, which the voting 
>>> group (generally the PMC of a project) cannot override. Again, this model 
>>> may be modified by a lazy 
>>> consensus<https://www.apache.org/foundation/voting.html#LazyConsensus> 
>>> <https://www.apache.org/foundation/voting.html#LazyConsensus> declaration 
>>> when the request for a vote is raised, but the full-stop nature of a 
>>> negative vote does not change. Under normal (non-lazy consensus) 
>>> conditions, the proposal requires three +1 votes and no -1 votes in order 
>>> to pass; if it fails to garner the requisite amount of support, it doesn't. 
>>> Then the proposer either withdraws the proposal or modifies the code and 
>>> resubmits it, or the proposal simply languishes as an open issue until 
>>> someone gets around to removing it."
>>> And "For code-modification votes, +1 votes are in favour of the proposal, 
>>> but -1 votes are vetos<https://www.apache.org/foundation/voting.html#Veto> 
>>> <https://www.apache.org/foundation/voting.html#Veto> and kill the proposal 
>>> dead until all vetoers withdraw their -1 votes.
>>> Unless the proposer declares that the vote is using lazy 
>>> consensus<https://www.apache.org/foundation/voting.html#LazyConsensus> 
>>> <https://www.apache.org/foundation/voting.html#LazyConsensus>, three +1 
>>> votes are required for a code-modification proposal to pass."
>>>
>>>
>>>
>>>
>>> Sebastien
>>>
>>>
>>> On 09/04/2025 10:20, chao an wrote:
>>>
>>> I like your second option, so could we remove the implementation of both
>>> crc16/crc16part interfaces and rename to crc16xmodem/crc16xmodempart?
>>>
>>> BRs,
>>>
>>> Sebastien Lorquet <sebast...@lorquet.fr> 于2025年4月9日周三 16:00写道:
>>>
>>>> Hello,
>>>>
>>>> once again, the number of usage is unimportant and irrelevant.
>>>>
>>>> The ONLY thing that matters is that when I call function POOP, it
>>>> always does POOP. Not something else.
>>>>
>>>> Because users you are unaware of expect this function to do POOP and
>>>> they may not be able to change their code.
>>>>
>>>> If you want different crc functions, use something else.
>>>>
>>>>
>>>> A better example than the building: the zip format
>>>>
>>>> zip uses adler32 which is not even a proper crc and is largely
>>>> suboptimal.
>>>>
>>>> zip developers NEVER changed this in decades, even if they know it's
>>>> bad. Why? because otherwise, old zip files would become completely 
>>>> unusable.
>>>>
>>>> We have the same issue.
>>>>
>>>> The default crc is bad? OK, deal with it. Add better functions.
>>>> Document everywhere that the default crc is deprecated and should not be
>>>> used because more accurate functions are available.
>>>>
>>>> But dont change the damn thing.
>>>>
>>>> I am against changing the default implementation of the legacy function
>>>> silently.
>>>>
>>>> I would be less mad if you REMOVED the old function rather than
>>>> silently changing its behaviour. (that would still be bad, however)
>>>>
>>>> Sebastien
>>>>
>>>>
>>>> On 09/04/2025 05:12, chao an wrote:
>>>>
>>>> I can empathize. But we just don't want to fill this regret again in
>>>> the new building.
>>>> The lack of standards is currently the biggest issue hindering the
>>>> promotion of this proposal.
>>>> Another interesting thing, I'd like to share another data from github:
>>>> if we search for the lookup table of crc16 on GitHub, you'll find that
>>>> CRC-16/IBM with a higher use rate:
>>>>
>>>> CRC-16/IBM: 3.1k
>>>>
>>>> https://github.com/search?q=%220x0000%2C+0xc0c1%2C+0xc181%2C+0x0140%2C+0xc301%2C+0x03c0%2C+0x0280%2C+0xc241%2C%22&type=code
>>>> [image: image.png]
>>>>
>>>> CRC-16/XMODEM: 304
>>>>
>>>> https://github.com/search?q=%220x0000%2C++0x1021%2C++0x2042%2C++0x3063%2C++0x4084%2C++0x50a5%2C++0x60c6%2C++0x70e7%2C%22&type=code
>>>>
>>>> [image: image.png]
>>>>
>>>> BRs,
>>>>
>>>> Tomek CEDRO <to...@cedro.info> 于2025年4月9日周三 10:52写道:
>>>>
>>>>> On Wed, Apr 9, 2025 at 3:45 AM chao an <magicd...@gmail.com> wrote:
>>>>> > > > > On Tue, Apr 8, 2025 at 7:17 PM Lwazi Dube <lwa...@gmail.com>
>>>>> wrote:
>>>>> > > > > An open source project's ability to innovate should not be
>>>>> > > > > held up by your preferences.
>>>>> > > >
>>>>> > > > The last sentence is completely wrong. Its not about
>>>>> "preference" but
>>>>> > > > impacting self-compatibility and long term maintenance. Messing
>>>>> the
>>>>> > > > foundations and defaults is not innovation. Try building a home
>>>>> when
>>>>> > > > the project constantly changes during the process, when you have
>>>>> 10
>>>>> > > > floors ready and suddenly you need to change pavements.
>>>>> Innovation is
>>>>> > > > when you create new functionality and give users a choice without
>>>>> > > > breaking existing working stuff.
>>>>> >
>>>>> >  So you think it's more important to maintain your current 10 floors
>>>>> > building, and it's none of your business if a 100 floors skyscraper
>>>>> appears
>>>>> > in the future? so could you afford all the developer time spent on
>>>>> this
>>>>> > kind of problem?
>>>>>
>>>>> Anchao, what I meant was to finish 10 floor building as planned
>>>>> (development), let people live inside that building (maintenance), and
>>>>> move development resources to 100 floor building as planned, without
>>>>> changing plans in the middle of construction, not getting stuck on 10
>>>>> floor building construction because plans change all the time and
>>>>> never getting to that 100 floor building. Its good to have solid
>>>>> immutable tools that you can depend on. Imagine there are devices
>>>>> already deployed out there that may not be possible to update, yes
>>>>> maintenance (in terms of keeping them inter-operational) may be the
>>>>> priority in that case, because replacing all devices may wipe out the
>>>>> company and leave owner with ubearable financial debt.
>>>>>
>>>>> I know this CRC is an important and quite hard problem, and I hope
>>>>> there can be a win-win solution where users have choice when they need
>>>>> one, thank you for bringing this up to the attention.. to be honest I
>>>>> have no clue what is the best solution here if there is no standard to
>>>>> relay on :-)
>>>>>
>>>>> --
>>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
>>>>>
>>>>

Reply via email to