Pages:
Author

Topic: Bitcoin is not really open source. Why not? - page 3. (Read 2874 times)

legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
December 06, 2016, 11:38:16 AM
#27
All that this says is that these programs, although called open source, are not really as open as the public might think that they are.

As long as you can openly get the source code (say, from an official repository) they are

You may think up your own definitions of open-source as much as you please, but don't expect other people agreeing to stick with your understanding of the concept. If you are looking for sematic juggling in an effort to fit a square peg in a round hole, then more power to you, but you are on your own in this endeavor
legendary
Activity: 2156
Merit: 1393
You lead and I'll watch you walk away.
December 06, 2016, 11:31:48 AM
#26
Just because you don't understand it doesn't mean no one understands it. You can even compile it yourself on a shit windowz computer after looking at the code if you want to install 7z, perl, python and MinGW. I've been downloading and compiling my own client since it was on sourceforge. The only thing I disagree with about the current release is the retirement of the alert key. I can still see possible uses for it. Privileged users shouldn't be able to send messages on a decentralized system, bla bla, bullshit. There's always going to be "privileged" people responsible for code and telling dumbasses like BADecker there's a problem.

The problem really is that you don't want to learn anything BADecker. It's the same reason you still think the earth is flat.


You really need to look at the franky1 post above your post.    Cool

I can't see franky1's posts. I ignored him long ago.

You've only franked yourself by doing that.    Cool

The only reason I don't ignore you is that I find your ridiculous uninformed stone-aged bullshit amusing. I just find franky1's bullshit annoying.
legendary
Activity: 3906
Merit: 1373
December 06, 2016, 11:25:52 AM
#25
Just because you don't understand it doesn't mean no one understands it. You can even compile it yourself on a shit windowz computer after looking at the code if you want to install 7z, perl, python and MinGW. I've been downloading and compiling my own client since it was on sourceforge. The only thing I disagree with about the current release is the retirement of the alert key. I can still see possible uses for it. Privileged users shouldn't be able to send messages on a decentralized system, bla bla, bullshit. There's always going to be "privileged" people responsible for code and telling dumbasses like BADecker there's a problem.

The problem really is that you don't want to learn anything BADecker. It's the same reason you still think the earth is flat.


You really need to look at the franky1 post above your post.    Cool

I can't see franky1's posts. I ignored him long ago.

You've only franked yourself by doing that.    Cool
legendary
Activity: 4410
Merit: 4788
December 06, 2016, 11:21:11 AM
#24


I agree that with proper documentation things are much easier to understand. But the argument OP is making is not about documentation.

Also about sloppy coding, if you see this and know a much better way and also capable of coding, I am curious to know if you have ever done anything about it like opening an issue on GitHub or changing the code to that better way and submitting it through pull request?

the boysclub usually ask you to discuss it with devs in IRC first. then join the mailing list. discuss it further and explain it in more detail and use the github only for final code.

unless its a spelling mistake you are usually met with many barriers and slaps to your face if you even hint there is an issue or a better way.

most objections to issues get shut down due to boysclub protection and rants about they know how things should be done while chest thumping they know better and to quietly tell outsiders to shut up go away and if you dont like it, fork off and play with an altcoin with their preferred code.

so although the code is open. to view. what is viewable it not always clear. and if you do translate it and see an issue. then trying to sort it or overcome their boysclub is met with what can only be described as the opposite to an open community
legendary
Activity: 2156
Merit: 1393
You lead and I'll watch you walk away.
December 06, 2016, 11:17:53 AM
#23
Just because you don't understand it doesn't mean no one understands it. You can even compile it yourself on a shit windowz computer after looking at the code if you want to install 7z, perl, python and MinGW. I've been downloading and compiling my own client since it was on sourceforge. The only thing I disagree with about the current release is the retirement of the alert key. I can still see possible uses for it. Privileged users shouldn't be able to send messages on a decentralized system, bla bla, bullshit. There's always going to be "privileged" people responsible for code and telling dumbasses like BADecker there's a problem.

The problem really is that you don't want to learn anything BADecker. It's the same reason you still think the earth is flat.


You really need to look at the franky1 post above your post.    Cool

I can't see franky1's posts. I ignored him long ago.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
December 06, 2016, 11:11:42 AM
#22


I agree that with proper documentation things are much easier to understand. But the argument OP is making is not about documentation.

Also about sloppy coding, if you see this and know a much better way and also capable of coding, I am curious to know if you have ever done anything about it like opening an issue on GitHub or changing the code to that better way and submitting it through pull request?
legendary
Activity: 3906
Merit: 1373
December 06, 2016, 11:06:36 AM
#21
Just because you don't understand it doesn't mean no one understands it. You can even compile it yourself on a shit windowz computer after looking at the code if you want to install 7z, perl, python and MinGW. I've been downloading and compiling my own client since it was on sourceforge. The only thing I disagree with about the current release is the retirement of the alert key. I can still see possible uses for it. Privileged users shouldn't be able to send messages on a decentralized system, bla bla, bullshit. There's always going to be "privileged" people responsible for code and telling dumbasses like BADecker there's a problem.

The problem really is that you don't want to learn anything BADecker. It's the same reason you still think the earth is flat.


You really need to look at the franky1 post above your post.    Cool
legendary
Activity: 2156
Merit: 1393
You lead and I'll watch you walk away.
December 06, 2016, 10:59:16 AM
#20
Just because you don't understand it doesn't mean no one understands it. You can even compile it yourself on a shit windowz computer after looking at the code if you want to install 7z, perl, python and MinGW. I've been downloading and compiling my own client since it was on sourceforge. The only thing I disagree with about the current release is the retirement of the alert key. I can still see possible uses for it. Privileged users shouldn't be able to send messages on a decentralized system, bla bla, bullshit. There's always going to be "privileged" people responsible for code and telling dumbasses like BADecker there's a problem.

The problem really is that you don't want to learn anything BADecker. It's the same reason you still think the earth is flat.
legendary
Activity: 4410
Merit: 4788
December 06, 2016, 10:53:21 AM
#19
What end users can do is either learn a programming language and read the code themselves or trust hundreds of others who are doing it.

many do know programming languages. but if the code uses undescribed variables or just randomly selected characters as variables, where no comments describe what the function does.. it is a headache

there is a major difference between quickly reading code to see if it has any "kill commands" and reading it line by line to see what the code does.
it took many people alot of time to read line for line and translate it in their head into 'pseudocode' and then work out what a function does by simulating it. which all can be solved by some basic etiquette. most of the people that actually bother reading it line by line and do simulations are those that then make their own implementations that run better. due to the boysclub of core being close minded to outside criticism.

the issues arise when one coder does stuff that 'works' but does so in a fancy way which could have been done in other ways. though passing a review test, the peers are not simulating it to think of other ways it can be written. they just put their thumbs up and move on. 'trusting' the dev that wrote it.

there have been many times we have seen bitcoin toyed around with later purely because one function passed a review, but later finding out if a function was wrote differently it would work better.

just because 90 spell checkers put their thumbs up, doesnt mean the code is perfect. doesnt mean all 90 spell checkers have run simulations or thought of different strategies. most of they time they quickly browse the code doesnt have 'kill commands' and then "TRUST!!!!" the dev that wrote it knows what he is doing, thus resulting in a fake positive peer review

its why there are all the core fanboys throwing out doomsdays. they dont run real simlations or actually read code, they just read summaries and other peoples opinions and trust.. trust of one person who trusts another who trusts another even when all 3 have not read a line of code. makes things go wrong.

take a notable name in the forum.. Lauda.. he doesnt know C++ yet has been very vocal of his trust of core code and core devs. and people then trust him. all because the code is not laid out.

take the way devs implemented the tx fee.. not only subverting coded methods of 'priority' which would have alleviated the war, but also using 'averages' which dont make the fee's drop reactively when demand is low. but actually keeps fee's up. even when one block is low demand.
EG take a 25 block average.. imagine first 24 are 0.0001 and the 25th is 0.0025 then look at the 'average' after that.. even if demand was near 0 and no one was pushing the fee up.... the "average" itself pushes up


so although the tx fee passes 'peer review' its sloppily coded in a way that is not reactive to low demand. or cares about using code logic to show real priority. all its doing is pushing/maintaining a high price even when demand is low.

it requires pools to avoid using the 'average' and to accept cheap tx's just to break the cycle that the 'average' fee war game is playing.
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
December 06, 2016, 10:49:21 AM
#18

To the general public, open source means nothing. All it does is make them feel comfortable, so that if there is a malicious programmer, he can attack them easier by saying that his program is open source.

Now you are going off-topic. You are comparing bitcoin (see the image I added) with a random malicious programmer's source code. Again you are using a correct fact to make a wrong conclusion.

Yes it is possible that a malicious programmer makes a code and fools people by only saying it is open source. I have already found 3 and reported them to GitHub and they were removed.

But what you say about malicious code is not possible about bitcoin that many are using and checking each commit's changes.

If any developer could post the results of this page: https://github.com/bitcoin/bitcoin/graphs/traffic I think it could answer many of your questions.

Any programmer that wants to understand it, has the opportunity to do so.  It isn't very complicated at all.

I (as a novice programmer) just want to confirm that this IS possible, not easy because of many custom variables and other complications but going through the documentation and code it is possible.
legendary
Activity: 3906
Merit: 1373
December 06, 2016, 10:36:06 AM
#17
Bitcoin is not open source because only a relatively small cross section of Bitcoin users understand the programming.

I use Bitcoin Core for Windows found through the link at https://bitcoin.org/en/download. The name of the current version file that I download is "bitcoin-0.13.1-win64-setup.exe." The download screen says that the size of the file is 12.5 MB (megabytes). The Windows (zip) of the same program says it is 22.6 MB. I use the smaller of these two.

While I really don't know what the difference is between these downloads, the smaller of the two installed to my "Program Files" directory in my computer, at 41 MB. (The whole blockchain is well over 100 GB (gigabytes).)

Do you know how many lines of code you could write to fill 41 MB of computer hard drive memory? Thousands!

What do all these lines of code do? What do they do to your computer? How do they work with your Internet connection, and what is really being sent over the Internet when you have Bitcoin running? Is there really anybody who knows the whole thing?

The point is, Bitcoin is not really open source, because it is not open to the vast majority of minds that use it. The average person could understand the whole Encyclopedia Britannica easier than he could understand what goes on with the Bitcoin programming in his computer. And probably fewer than 99% of programmers understand it, to say nothing of lay people.

Since you refer to a Windows executable, your download is a precompiled binary which most certainly includes a few libraries not available in Windows by default. Even if you have full understanding of the Bitcoin protocol and the development tools (including a programming language) with which this specific implementation of Bitcoin was built, you will still be using third party as well as operating system libraries and kernel calls (e.g. network stack calls), and you can't possibly know what exactly all these are doing to your computer, especially if you are using Windows...

In this way, your point is essentially moot (whatever you wanted to say)

The part that is NOT moot is the fact that people need to realize this... that they are trusting all kinds of programmers all over the place, especially Microsoft

Yes, but it has been known for decades already

Even in totally open-sourced systems like Linux or FreeBSD you have no other option but to trust other people and their knowledge, since it is simply impossible to first understand and then check all types of software used in a modern computer. In fact, even if you have a full source code tree of some program or utility and understand every line of it or developed it yourself, you can't be 100% sure that it will do exactly what you think it should

All that this says is that these programs, although called open source, are not really as open as the public might think that they are.

Cool
legendary
Activity: 3906
Merit: 1373
December 06, 2016, 10:34:18 AM
#16
Well take "Windows" as a example... all the code is proprietary and not shared with the public, so you cannot call that Open Source. In my view all

the code is viewable and everyone with a sound programming knowledge, would have a clue what is written there. Enough people have more or less

an idea, what is inside the code, to verify that it does not contain any nasty surprises.  Grin .... People were quick to identify malicious code in Bitcoin

XT, when it revealed some "backdoors"  Wink

Thank you. Good point.    Cool
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
December 06, 2016, 10:33:23 AM
#15
Bitcoin is not open source because only a relatively small cross section of Bitcoin users understand the programming.

I use Bitcoin Core for Windows found through the link at https://bitcoin.org/en/download. The name of the current version file that I download is "bitcoin-0.13.1-win64-setup.exe." The download screen says that the size of the file is 12.5 MB (megabytes). The Windows (zip) of the same program says it is 22.6 MB. I use the smaller of these two.

While I really don't know what the difference is between these downloads, the smaller of the two installed to my "Program Files" directory in my computer, at 41 MB. (The whole blockchain is well over 100 GB (gigabytes).)

Do you know how many lines of code you could write to fill 41 MB of computer hard drive memory? Thousands!

What do all these lines of code do? What do they do to your computer? How do they work with your Internet connection, and what is really being sent over the Internet when you have Bitcoin running? Is there really anybody who knows the whole thing?

The point is, Bitcoin is not really open source, because it is not open to the vast majority of minds that use it. The average person could understand the whole Encyclopedia Britannica easier than he could understand what goes on with the Bitcoin programming in his computer. And probably fewer than 99% of programmers understand it, to say nothing of lay people.

Since you refer to a Windows executable, your download is a precompiled binary which most certainly includes a few libraries not available in Windows by default. Even if you have full understanding of the Bitcoin protocol and the development tools (including a programming language) with which this specific implementation of Bitcoin was built, you will still be using third party as well as operating system libraries and kernel calls (e.g. network stack calls), and you can't possibly know what exactly all these are doing to your computer, especially if you are using Windows...

In this way, your point is essentially moot (whatever you wanted to say)

The part that is NOT moot is the fact that people need to realize this... that they are trusting all kinds of programmers all over the place, especially Microsoft

Yes, but it has been known for decades already

Even in totally open-sourced systems like Linux or FreeBSD you have no other option but to trust other people and their knowledge, since it is simply impossible to first understand and then check all types of software used in a modern computer. In fact, even if you have a full source code tree of some program or utility and understand every line of it (or developed it yourself), you can't be 100% sure that it will do exactly what you think it should (and I'm not talking about bugs)
legendary
Activity: 1904
Merit: 1074
December 06, 2016, 10:32:27 AM
#14
Well take "Windows" as a example... all the code is proprietary and not shared with the public, so you cannot call that Open Source. In my view all

the code is viewable and everyone with a sound programming knowledge, would have a clue what is written there. Enough people have more or less

an idea, what is inside the code, to verify that it does not contain any nasty surprises.  Grin .... People were quick to identify malicious code in Bitcoin

XT, when it revealed some "backdoors"  Wink
legendary
Activity: 3276
Merit: 3537
Nec Recisa Recedit
December 06, 2016, 10:26:51 AM
#13
[from wikipedia] Open source as a development model promotes universal access via an open-source or free license to a product's design or blueprint, and universal redistribution of that design or blueprint, including subsequent improvements to it by anyone. [end]

So you can see what's there is behind the code itself, this is way it's "open source".
Even [from wikipedia]  The open-source model is a more decentralized model of production, in contrast with more centralized models of development such as those typically used in commercial software companies.[1] Scientists view the open-source model as a case of open collaboration [end]

It's normal not all people could understand "the code" by itself, but this not means is not an open source code.
About malicious programmer there are some proposal that need to be validated before submitted:
https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals
Some proposal cannot be adopted: https://en.bitcoin.it/wiki/Prohibited_changes

Probably with these BIP the protocol is safe, and only an hardfork (and another COINS not actual bitcoin) could help malicious programmer.
legendary
Activity: 3906
Merit: 1373
December 06, 2016, 10:18:15 AM
#12
You have a bad approach in talking about what you have in mind. You have some good points here and there but at the same time you are wrong about lots of other things for example Ubuntu Kernel is also Open source or the same with Firefox and all the things you say are true about millions of people who are using these.

Open source means anyone can go to the source code: https://github.com/bitcoin/bitcoin looks at it and report publicly if he/she finds any shenanigans and also anyone can use the code to build their own code:
https://github.com/spesmilo/electrum
https://github.com/keepkey/multibit
https://github.com/etotheipi/BitcoinArmory
https://github.com/blockchain (blockchain.info)
....

What end users can do is either learn a programming language and read the code themselves or trust hundreds of others who are doing it.

I feel soooo comfortable now that I realize that there are public programmers who have examined the whole Bitcoin Core programming in great detail, and would certainly broadcast it all over the Internet if they found anything wrong with it. I'm simply relieved.

To the general public, open source means nothing. All it does is make them feel comfortable, so that if there is a malicious programmer, he can attack them easier by saying that his program is open source.

Cool
legendary
Activity: 3906
Merit: 1373
December 06, 2016, 10:14:03 AM
#11
Bitcoin is not open source because only a relatively small cross section of Bitcoin users understand the programming.

I use Bitcoin Core for Windows found through the link at https://bitcoin.org/en/download. The name of the current version file that I download is "bitcoin-0.13.1-win64-setup.exe." The download screen says that the size of the file is 12.5 MB (megabytes). The Windows (zip) of the same program says it is 22.6 MB. I use the smaller of these two.

While I really don't know what the difference is between these downloads, the smaller of the two installed to my "Program Files" directory in my computer, at 41 MB. (The whole blockchain is well over 100 GB (gigabytes).)

Do you know how many lines of code you could write to fill 41 MB of computer hard drive memory? Thousands!

What do all these lines of code do? What do they do to your computer? How do they work with your Internet connection, and what is really being sent over the Internet when you have Bitcoin running? Is there really anybody who knows the whole thing?

The point is, Bitcoin is not really open source, because it is not open to the vast majority of minds that use it. The average person could understand the whole Encyclopedia Britannica easier than he could understand what goes on with the Bitcoin programming in his computer. And probably fewer than 99% of programmers understand it, to say nothing of lay people.

Since you refer to a Windows executable, your download is a precompiled binary which most certainly includes a few libraries not available in Windows by default. Even if you have full understanding of the Bitcoin protocol and the development tools (including a programming language) with which this specific implementation of Bitcoin was built, you will still be using third party as well as operating system libraries and kernel calls (e.g. network stack calls), and you can't possibly know what exactly all these are doing to your computer, especially if you are using Windows...

In this way, your point is essentially moot (whatever you wanted to say)

The part that is NOT moot is the fact that people need to realize this... that they are trusting all kinds of programmers all over the place, especially Microsoft.

The whole money system has slowly grown into an Internet thing, all run by computers and programming that isn't understood by anybody except the tiniest handful of programmers. The open source aspect of Bitcoin is little different, but not much.

How big is Windows 10 on the computer. Gigabytes. And much of it is NOT open source.

Probably a lot of people would be scared to no end if they realized what their computers are doing behind the scenes. The term "open-source" simply quells their fears, even though little open source programming is really understood by anyone, relatively.

Cool
legendary
Activity: 1042
Merit: 2805
Bitcoin and C♯ Enthusiast
December 06, 2016, 10:11:41 AM
#10
You have a bad approach in talking about what you have in mind. You have some good points here and there but at the same time you are wrong about lots of other things for example Ubuntu Kernel is also Open source or the same with Firefox and all the things you say are true about millions of people who are using these.

Open source means anyone can go to the source code: https://github.com/bitcoin/bitcoin looks at it and report publicly if he/she finds any shenanigans and also anyone can use the code to build their own code:
https://github.com/spesmilo/electrum
https://github.com/keepkey/multibit
https://github.com/etotheipi/BitcoinArmory
https://github.com/blockchain (blockchain.info)
....

What end users can do is either learn a programming language and read the code themselves or trust hundreds of others who are doing it.
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
December 06, 2016, 10:00:04 AM
#9
Bitcoin is not open source because only a relatively small cross section of Bitcoin users understand the programming.

I use Bitcoin Core for Windows found through the link at https://bitcoin.org/en/download. The name of the current version file that I download is "bitcoin-0.13.1-win64-setup.exe." The download screen says that the size of the file is 12.5 MB (megabytes). The Windows (zip) of the same program says it is 22.6 MB. I use the smaller of these two.

While I really don't know what the difference is between these downloads, the smaller of the two installed to my "Program Files" directory in my computer, at 41 MB. (The whole blockchain is well over 100 GB (gigabytes).)

Do you know how many lines of code you could write to fill 41 MB of computer hard drive memory? Thousands!

What do all these lines of code do? What do they do to your computer? How do they work with your Internet connection, and what is really being sent over the Internet when you have Bitcoin running? Is there really anybody who knows the whole thing?

The point is, Bitcoin is not really open source, because it is not open to the vast majority of minds that use it. The average person could understand the whole Encyclopedia Britannica easier than he could understand what goes on with the Bitcoin programming in his computer. And probably fewer than 99% of programmers understand it, to say nothing of lay people.

Since you refer to a Windows executable, your download is a precompiled binary which most certainly includes a few libraries not available in Windows by default. Even if you have full understanding of the Bitcoin protocol and the development tools (including a programming language) with which this specific implementation of Bitcoin was built, you will still be using third party as well as operating system libraries and kernel calls (e.g. network stack calls), and you can't possibly know what exactly all these are doing to your computer, especially if you are using Windows...

In this way, your point is essentially moot (whatever you wanted to say)
legendary
Activity: 3906
Merit: 1373
December 06, 2016, 09:56:05 AM
#8
When you have code that is not open source, it is still "open source" to the person or company who made it. If it was a company, a person might be able to get a job there, learn the "passwords" for accessing the code, and make it open source to himself.

A layman might download a simple program that will give him an open-source look at some, general programming. Or he might be able to figure out how to access and view the code in a simple text program. But it is still useless for him. It tells him nothing (except if their are instruction line built right into the code, as franky1 said). He still needs to learn programming to figure out what the program is doing.

The point is, the average person hears the term "open source." He doesn't realize that this term isn't as useful to him as it is suggested to be. Why? Because he still doesn't know what is going on in the program. Very few people really know, even though it is open source.

A programmer might be able to figure this stuff out. But even a programmer might not find hidden things that are going on in a multiple hundred thousand line program, without some in-depth study of the program. "Open source" just might be a term that some programmers use to allay the suspicions and fears of other programmers (and, of course, lay people), while they stick some code in that does a bunch of other things that nobody else knows, and that most people would not want if they knew it.

Cool
Pages:
Jump to: