I like dlang but i don't like dub

IGotD- nise at nise.com
Tue Mar 22 17:36:13 UTC 2022

On Friday, 18 March 2022 at 18:16:51 UTC, Ali Çehreli wrote:
> The first time I learned about pulling in dependencies 
> terrified me. (This is the part I realize I am very different 
> from most other programmers.) I am still terrified that my 
> dependency system will pull in a tree of code that I have no 
> idea doing. Has it been modified to be malicious overnight? I 
> thought it was possible. The following story is an example of 
> what I was exactly terrified about:
> https://medium.com/hackernoon/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5
> Despite such risks many projects just pull in code. (?) What am 
> I missing?

This is an interesting observation and something of an oddity in 
modern SW engineering. I have been on several projects where they 
just download versions of libraries from some random server. For 
personal projects I guess this would be ok but for commercial 
software this would be a big no-no for me. Still the trend goes 
towards this. Now, several build systems and packet manager 
software have the possibility to change the server to a local 
one. Changing to local one is unusual though which is strange.

First as you mentioned is that you increase the vulnerability by 
the possibility injecting a modified version of a library with 
back doors. Then you also become dependent on outside servers 
which is bad if they are down.

In all, for commercial software just avoid dub. If you want to 
use a build system go for Meson as it has D support out of the 
box today. For commercial projects pull libraries manually as you 
want to have full control where you get it, the version and so on.

More information about the Digitalmars-d-learn mailing list