Factors affecting the spread of multiple information in social networks
Authors:
Zhiqiang Zhu aff001; Yinghao Zhang aff001
Authors place of work:
College of Science, Huazhong Agricultural University, Wuhan, Hubei, China
aff001
Published in the journal:
PLoS ONE 14(12)
Category:
Research Article
doi:
https://doi.org/10.1371/journal.pone.0225751
Summary
Information spreading in social networks is affected by many factors. Based on a novel information spreading model with five spreading mechanisms, we analyzed and compared the influence of various factors on information spreading. Through a large number of simulation experiments, we found that: (1) K-shell layers have the greatest impact on information spreading; (2) distance between the two information sources, correlation coefficient between two types of information and social reinforcement also affect the information spreading. The analysis results of these factors will be helpful for us to predict the trend of information spreading and find effective strategies to control information spreading.
Keywords:
Network analysis – Simulation and modeling – Community structure – memory – Internet – Social networks – Social research – Facebook
Introduction
With the rapid development of Internet technology, online social networks have gained increasing popularity, and the application scope is becoming broader. In the past decade, information spreading in social networks has attracted great research interests [1–12].
Unlike the spread of disease, the spread of information will leave certain memories of the information on the individuals once they received it. Whenever an individual receives one new information, social reinforcement will to some extent affect the acceptance of the information by the individual: when he receives the information for many times, the possibility of accepting this information will increase. Under the influence of memory and social reinforcement, information will be more easily accepted by people. When people receive one information, their attention to this information will decline over time, which will decrease the effects of memory and social reinforcement, and reduce the coverage of information spreading. In a word, information spreading may be influenced by memory, social reinforcement and attentional decline. In addition, in the first contact with the information, the degree of acceptance of the information may varies from individual to individual. So information spreading may be also largely influenced by “human heterogeneity”.
Dodds and Watts [13] introduced “memory effect” into the process of information spreading, and discovered that it can affect the spread of information. Wu et al. [14] used a dynamic model to describe the relationship between the growth of news and the mechanism of “group attentional decline” in a website. Centola [15] found that “social reinforcement” can influence information spreading in an empirical research. Lü et al. [16] put forward a model that evaluates the essential differences between the spread of information and the spread of the epidemic, and the model contained three mechanisms of “memory effect”, “social reinforcement” and “non-redundant contact”. Nematzadeh et al. [17] used a threshold model as the dynamic model of information spreading, and the research showed that community structure has a significant impact on information spreading. Kitsak et al. [18] reported a model of single information spreading, and found that the source of information was located at the K-shell layer with the highest KS value, which can contribute to a wider coverage of information spreading. Zhu et al. [19] first proposed the concept of “human heterogeneity” and a novel information spreading model that included four spreading mechanisms: “memory effect”, “social reinforcement”, “non-redundant contact” and “human heterogeneity”; besides, the influence of “human heterogeneity”, “social reinforcement” and network structure on the model of single information spreading was also analyzed.
Most current studies of information spreading focused on the spreading characteristics of single information. However, in real social networks, it is almost impossible that only one type of information is transmitted in a certain period of time. Instead, various types of information are present in the network at the same time, and in the process of spreading, there may be certain interactions among different types of information, which will certainly affect the whole spreading behavior. As a matter of fact, the simultaneous spreading of various types of information is a very complicated process. At present, the researches on multiple information spreading were mainly based on a variety of disease propagation models [20]. However, these models can not well reflect the “non-redundant contact” of information and ignore the spreading characteristics such as “memory effect”, “social reinforcement” and “attentional decline”.
In this paper, we proposed a novel information spreading model, which can simulate the multiple information spreading in the network. This model included the interaction between two types of information and five different spreading mechanisms: (1) memory effects, (2) social reinforcement, (3) non-redundant contact, (4) human heterogeneity and (5) attentional decline. Based on this model, we assessed the impacts of the spreading mechanisms, interaction between the two types of information, distance between the two information sources, community structure and K-shell layers on information spreading. The major aim of the paper is to analyze what factors affect the spread of information, and clarify which are the primary, secondary and unimportant factors.
Materials and methods
The main research methods of this paper include: (1) build a new model of information spreading; (2) based on this spreading model, through simulation experiments to analyze the influence of various influencing factors on information spreading in social networks. In order to understand the model more clearly, the next two parts (“Basic Definitions” and “Process of Information Spreading”) explain the concepts and contents of the model. Then in “Preparations for Simulation Experiments”, the background networks of the simulation experiment and how to analyze the influence of various factors are described.
Basic definitions
Suppose that two types of information A and B are propagated in network G. In the network, each node represents an individual, and each edge represents the social relationship between two individuals. Some of the related definitions in our model are as follows:
-
information attribute [IA, IB]: IA, IB ∈ [0, 1] is a constant reflecting the degree of difficulty in accepting information A or B by individuals. A lower information attribute suggests that the information is more easily accepted.
-
individual attribute [ I A ′ ( v ) , I B ′ ( v ) ] : I A ′ ( v ), I B ′ ( v ) ∈ [ 0 , 1 ] is a constant that reflects the degree to which individual v is willing to accept information, when he first receives information A or B. The larger the individual attribute is, the easier the information will be accepted.
-
individual state: At each time step, each individual is in one of the four states:
-
“Unknown”: the individual has not yet come into contact with the information.
-
“Known”: the individual has received the information, but is not willing to propagate it, possibly because he is suspicious of the authenticity of the information.
-
“Accepted”: the individual accepts the information and then propagates it to all his neighbors.
-
“Exhausted”: after propagating the information to his neighbors, the individual will lose his interests in it and never propagate this information again.
-
-
The coverage of information spreading: It is the proportion of individuals who accept information to all individuals.
-
The correlation coefficient between two kinds of information β: β ∈ [−1, 1].
-
0 < β ≤ 1, which indicates that when an individual comes into contact with two types of information, one type of information can promote the acceptance of the other information by the individual. The greater the value of β is, the easier it is for individuals to accept information.
-
−1 ≤ β < 0, which indicates that when an individual comes into contact with two types of information, one type of information may hinder the acceptance of the other type by the individual. A lower β value will more significantly hinder the individual’s acceptance of the information.
-
β = 0, which indicates that the two types of information do not affect each other.
-
The spreading mechanisms in our model are described as follows.
-
Memory effects [Mi(v, t), i = A, B]: The individual v has come into contact with the information i for Mi(v, t) times until the t time step. In the process of information spreading, as time goes on, once the individual v contacts with the information i again, the value of Mi(v, t) is increased by 1.
-
Social reinforcement (c): The constant c (c > 0) reflects the social reinforcement effect. The larger the value of c is, the easier the information is accepted.
-
Non-redundant contact: In the spreading process, each link in the network is used at most once.
-
Human heterogeneity: The difference in individual attribute reflects the intensity of human heterogeneity. The greater the fluctuations of individual attribute is, the stronger human heterogeneity is.
-
Attentional decline: As time goes on, the novelty of the information declines, so the individual’attention to information also declines. The attentional decline factor [9] was presented as where Δt indicates the total time step from the first time that the information is received to the current time point.
Process of information spreading
The spreading process of two types of information A and B in the network is shown in Fig 1.
The main steps in the process of information spreading are shown below:
-
Step 1
At the beginning, two nodes are randomly chosen as the information sources and the others are in the “Unknown” state. These sources will spread the information to all their neighbors and then turn to an “Exhausted” state.
-
Step 2
Once node v (in either an “Unknown” or a “Known” state for one of the two types of information) receives the information at least once at the t (t ≥ 1) time step, he will make judgments about its authenticity by the following principles.
Suppose that node v has received information A for MA(v, t) times and information B for MB(v, t) times until t time step, the attentional decline factors of information A and information B are d Δ t A ( v ) and d Δ t B ( v ), respectively.
-
(a)
If I A ≤ I A ′ ( v ) [ c ( M A ( v , t ) · d Δ t A ( v ) + β · M B ( v , t ) · d Δ t B ( v ) - 1 ) + 1 ], v will accept information A at the t time step and spread it to all his neighbors in the next time step and then become an “Exhausted” state; otherwise, v will do nothing no matter how many times he comes into contact with information A.
-
(b)
If I B ≤ I B ′ ( v ) [ c ( M B ( v , t ) · d Δ t B ( v ) + β · M A ( v , t ) · d Δ t A ( v ) - 1 ) + 1 ], the conclusion of whether an individual accepts information B is similar to that in (a).
However, if node v does not receive information A and B at the t time step, he will do nothing in the next time step.
-
(a)
-
Step 3
If no new individual accepts and spreads the information, the spreading process will come to an end; otherwise, the process will be continued as Step 2.
In order to understand the above process of information spreading, we give an example (see Fig 2). Fig 2 is an example of the spreading process of two kinds of information A and B in network.
Firstly, u and v are the nodes where information A and B begin to spread, respectively. Let IA = IB = 0.6, I A ′ ( v 1 ) = I B ′ ( v 1 ) = 0 . 8, I A ′ ( v 2 ) = I B ′ ( v 2 ) = 0 . 2, I A ′ ( v 3 ) = I B ′ ( v 3 ) = 0 . 5, I A ′ ( v 4 ) = I B ′ ( v 4 ) = 0 . 4, I A ′ ( v 5 ) = I B ′ ( v 5 ) = 0 . 4, I A ′ ( v 6 ) = I B ′ ( v 6 ) = 0 . 5, I A ′ ( v 7 ) = I B ′ ( v 7 ) = 0 . 2, I A ′ ( v 8 ) = I B ′ ( v 8 ) = 0 . 8, and c = 1.0, β = 1.0.
Then information spreading includes three steps:
-
First step: I A ′ ( v 1 ) = 0 . 8 > 0 . 6 = I A, I A ′ ( v 6 ) = 0 . 5 < 0 . 6 = I A, I B ′ ( v 3 ) = 0 . 5 < 0 . 6 = I B, I B ′ ( v 8 ) = 0 . 8 > 0 . 6 = I B, then v1 accepts A, v8 accepts B.
-
Second step: I A ′ ( v 2 ) = 0 . 2 < 0 . 6 = I A, I A ′ ( v 4 ) = 0 . 4 < 0 . 6 = I A, I A ′ ( v 6 ) [ ( 2 e - 0 . 4 - 1 ) + 1 ] = 0 . 5 × 1 . 34 = 0 . 67 > 0 . 6 = I A, I B ′ ( v 3 ) [ ( 2 e - 0 . 4 - 1 ) + 1 ] = 0 . 5 × 1 . 34 = 0 . 67 > 0 . 6 = I B, I B ′ ( v 5 ) = 0 . 4 < 0 . 6 = I B, I B ′ ( v 7 ) = 0 . 2 < 0 . 6 = I B, then v6 accepts A, v3 accepts B.
-
Third step: I A ′ ( v 4 ) [ ( 2 e - 0 . 4 - 1 ) + 1 ] = 0 . 4 × 1 . 34 = 0 . 54 < 0 . 6 = I A, I A ′ ( v 7 ) [ ( 1 + 1 - 1 ) + 1 ] = 0 . 2 × 2 = 0 . 4 < 0 . 6 = I A, I B ′ ( v 2 ) [ ( 1 + 1 - 1 ) + 1 ] = 0 . 2 × 2 = 0 . 4 < 0 . 6 = I B, I B ′ ( v 5 ) [ ( 2 e - 0 . 4 - 1 ) + 1 ] = 0 . 4 × 1 . 34 = 0 . 54 < 0 . 6 = I B.
Finally, nodes v1 and v6 accept A, nodes v3 and v8 accept B.
Preparations for simulation experiments
Based on the above spreading model, we then analyzed the influence of various factors in social network through a large number of simulation experiments. In this paper, we mainly carried out simulation experiments based on the following three kinds of networks:
-
a real social network (G1, the e-mail network of University Rovira i Virgili (URV) [21]): This network comprises more than 1000 nodes that represent faculty, researchers, technicians, managers, administrators, and graduate students, which considers the e-mails exchanged between university addresses during the first three months of 2002.
-
two networks (G2 and G3) generated by social network evolution model: In this paper, we chose the network evolution model in [22], which contains two adjustable parameters p1 and p2. Through the different values of these two parameters, we can get a network whose degree distribution obeys a certain distribution, where G2 is a network whose degree distribution obeys power law distribution (p1 = 0.1, p2 = 0.2), and G3 is a network that obeys stretched exponential distribution (p1 = 0.2, p2 = 0.3).
-
a real social network (G4, the network contains friendship data of Facebook users [23]): This network comprises 63,731 nodes and 817,035 edges. A node represents a user and an edge represents a friendship between two users. This dataset is obviously not complete and contains a very small subset of the total Facebook friendship graph.
Some of the topological characteristics of these four networks were listed in Fig 3. Here we used fast unfolding algorithm [24] and the K-Shell decomposition method [25] to obtain the community structure and the K-Shell layers of the network, respectively.
Next, we analyzed the simulation experiments of information spreading in G1, while the simulation experiments on network G2, G3 and G4 were in Supporting information (see S1, S2, and S3 Files).
Results
Next, we chose the e-mail network of University Rovira i Virgili (URV) [21] as the background network of information spreading, and used the above spreading model to simulate and analyze the effects of social reinforcement, correlation coefficient between the two types of information, distance between the two information sources in the network, community structure and K-shell layers on information spreading. In the following simulation experiments, for “human heterogeneity”, we only considered the individual attributes that obey uniform distribution, and all results in this paper were obtained by averaging over 1,000 independent realizations.
We first analyzed the impact of the distance (d) between the two information sources on information spreading when correlation coefficient (β) and social reinforcement (c) take different values. Fig 4 presents the following results.
-
When d is fixed, the increase of β or c will enhance the coverage of the information spreading.
-
When β and c are fixed, with the increase of d, the coverage of information spreading will be reduced (β > 0) or enhanced (β < 0), respectively.
-
With the increases of d, c has a more significant influence on the information spreading than β.
Next, we separately analyzed the influence of K-shell layers and community structure on information spreading. Firstly, we considered the effect of two information sources at different K-shell layers on information spreading. In Fig 5, it can be found that the larger the KS value of the K-shell layers where two information sources are located, the wider the coverage of information spreading is. However, we found that there may be other factors besides K-shell layers that affect information spreading.
Then, we analyzed the influence of two information sources on information spreading when they were in different communities. In Fig 6, no specific relationships between information spreading and communities can be observed when only considering the influence of community structure.
Finally, we analyzed and compared the influence of various factors on information spreading. First, we compared the influence of the distance between two information sources and K-shell layers on information spreading.
As shown in Fig 7,
-
No matter how far the distance between the two information sources is, the larger the KS value is, the wider the coverage of information spreading will be.
-
In the same K-shell layer, when the value of c is small, no specific relationships between information spreading and the distance between the two information sources can be observed; however, when the values of c and β are large, the smaller the distance between the two sources is, the wider the coverage of information spreading will be.
Finally, we compared the influence of community structure and K-shell layers on information spreading.
Figs 8 and 9 show that,
-
Whether two information sources are located in the same community (Fig 8) or in different communities (Fig 9), the larger the KS values of the K-shell layers where two information sources are located, the smaller the influence of community structure on information spreading is.
-
When the KS value is higher (KS = 5, 6, 7, 8) (Figs 8 and 9), c has a more significant impact on information spreading than β.
We further compared the spread of two information sources in the same community and in different communities. Fig 10 shows that when the KS value is larger (KS = 6, 7, 8), the coverage of information spreading shows very little differences.
In Fig 11, it can be found that whether the two information sources are in the same community or different communities, the higher KS values corresponds to the wider coverage of information spreading.
In order to test and verify the universality of the conclusions obtained above, we conduct simulation experiments on more networks based on the spread model in this paper (see supplementary information). At the same time, we also found that the above conclusions were valid in the other three networks.
Discussion
In order to better understand the spreading mechanisms and the key affecting factors of information spreading in social networks, this paper proposed a model of information spreading that considered five spreading mechanisms: memory effects, social reinforcement, non-redundancy, human heterogeneity, and attentional decline. By various simulation experiments, we analyzed the influence of social reinforcement, correlation coefficient between the two types of information, distance between the two information sources in the network, community structure and K-shell layers on information spreading. The main conclusions were as follows.
-
K-shell layers have the greatest impact on information spreading.
The greater the KS values are, the wider the coverage of information spreading will be, which is consistent with the results of a previous study [18]: The most efficient spreaders are those located within the core of the network, as identified by the K-shell decomposition analysis.
-
Distance between the two information sources, correlation coefficient between two types of information, social reinforcement and community structure affect the information spreading.
-
When the distance between two information sources is fixed, the increase in the values of β or c will enhance the coverage of the information spreading.
-
When the values of β and c are fixed, with the increase of distance between two information sources, the coverage of information spreading will be reduced (β > 0) or enhanced (β < 0), respectively.
-
With the increases of distance between the two sources of information, c has a more significant influence on the information spreading than β.
-
When the values of β(β > 0) and c are fixed, with the increase of distance between the two sources, the coverage of information spreading will be reduced. This result is consistent with the conclusion of Kitsak et al. [18]: When considering the distance between the two information sources, the distance is the crucial factor that determines the extent of the spreading. However, it is surprising that in the same K-shell layer, when the value of c is smaller, there is no obvious correlation between distance between the two information sources and information spreading.
-
When the KS value is higher, community structure does not affect the spread of information. This result is just contrary to the conclusion of Nematzadeh et al. [17], who reported that community structure has certain effects on information spreading.
-
In order to be closer to the real information spreading process, this paper has established the information spreading model as authentically as possible from two aspects: (1) the background network is a real social network, or a network generated by a network evolution model closer to the real social network structure; (2) the information spreading model closer to the real situation is established. Then we comprehensively and systematically analyzed various factors affecting information spreading, including factors in spreading model (such as β and c) and factors in network structure (such as KS values and communities). Therefore, the analysis results of these factors can help to predict the trend of information spreading in the network: when two information sources are located in the K-shell layer with larger KS value, the coverage of information spreading will be larger (β > 0), or smaller (β < 0). In addition, through the results of this study, we can further find effective strategies to control information spreading.
Conclusion
The results in this paper will facilitate a better understanding of the patterns of information spreading in social networks and clarify the key factors that affect multiple information spreading, which can provide some guidance for achieving the maximum information spreading (such as fads, innovations, collective actions and opinions) as well as stopping the transmission of viruses and controlling the spread of rumors. In addition, the information spreading model proposed in this paper can be applied to the research on the spread of more types of information in the network.
Supporting information
S1 Appendix [pdf]
Data sources of three background networks (, , and ).
S1 File [pdf]
The simulation results of information spreading on network .
S2 File [pdf]
The simulation results of information spreading on network .
S3 File [pdf]
The simulation results of information spreading on network .
Zdroje
1. Jin F, Dougherty E, Saraf P, Mi P, Cao Y, Ramakrishnan N. Epidemiological Modeling of News and Rumors on Twitter. Workshop on Social Network Ming and Analysis. 2013 Aug; 1–9.
2. Guille A, Hacid H, Favre C, Zighed DA. Information Diffusion in Online Social Networks: A Survey. Acm Sigmod Record. 2013 Jun; 42(2):17–28. doi: 10.1145/2503792.2503797
3. Peng C, Xu K, Wang F, Wang HY. Predicting Information Diffusion Initiated from Multiple Sources in Online Social Networks. International Symposium on Computational Intelligence and Design. 2013 Oct; 96–99.
4. Dai WH, Hu HZ, Wu TN, Dai YH. Information spread of emergency events: path searching on social networks. The Scientific World Journal. 2014 Jan; 2014:179620. doi: 10.1155/2014/179620 24600323
5. Su Y, Zhang X, Liu LX, Song SY, Fang BX. Understanding information interactions in diffusion: an evolutionary game-theoretic perspective. Frontiers of Computer Science. 2016 Jan; 10(3):518–531. doi: 10.1007/s11704-015-5008-y
6. Zhang ZK, Liu C, Zhan XX, Lu X, Zhang CX, Zhang YC. Dynamics of information diffusion and its applications on complex networks. Phys Rep. 2016 Sep; 651:1–34. doi: 10.1016/j.physrep.2016.07.002
7. Alsuwaidan L, Ykhlef M. Information Diffusion Predictive Model Using Radiation Transfer. IEEE Access. 2017 Oct; 2764001.
8. Liu T, Li P, Chen Y, Zhang J. Community size effects on epidemic spreading in multiplex social networks. PLoS ONE. 2016 Mar; 11(3):e0152021. doi: 10.1371/journal.pone.0152021 27007112
9. Stegehuis C, van der Hofstad R, van Leeuwaarden JSH. Epidemic spreading on complex networks with community structures. Sci Rep. 2016 Apr; 6:29748. doi: 10.1038/srep29748 27440176
10. Dai Z, Li p, Chen Y, Zhang K, Zhang J. Influential node ranking via randomized spanning trees. Physica A. 2019 Jul; 526:120625. doi: 10.1016/j.physa.2019.02.047
11. Vega-Oliveros DA, Zhao L, Berton L. Evaluating link prediction by diffusion processes in dynamic networks. Sci Rep. 2019 Jul; 9:10833. doi: 10.1038/s41598-019-47271-9 31346237
12. Lin YS, Chen W, Lui JCS. Boosting information spread: an algorithmic approach. IEEE Transactions on Computational Social Systems. 2018 Jun; 5(2):344–357. doi: 10.1109/TCSS.2018.2800398
13. Dodds PS, Watts DJ. Universal behavior in a generalized model of ctagion. Phys Rev Lett. 2004 May; 92(21):218701. doi: 10.1103/PhysRevLett.92.218701 15245323
14. Wu F, Huberman BA. Novelty and Collective Attention. Proc Natl Acad Sci. 2007 May; 104(45):17599–17601. doi: 10.1073/pnas.0704916104 17962416
15. Centola D. The spread of behavior in an online social network experiment. Science. 2010 Sep; 329(5996):1194–1197. doi: 10.1126/science.1185231 20813952
16. Lü L, Chen DB, Zhou T. The small world yields the most effective information spreading. New J Phys. 2011 Dec; 13:825–834.
17. Nematzadeh A, Ferrara E, Flammini A, Ahn YY. Optimal Network Modularity for Information Diffusion. Phys Rev Lett. 2014 Aug; 113(8):088701. doi: 10.1103/PhysRevLett.113.088701 25192129
18. Kitsak M, Gallos LK, Havlin S, Liljeros F, Muchnik L, Stanley HE, et al. Identification of influential spreaders in complex networks. Nat Phys. 2011 Aug; 6:888–893. doi: 10.1038/nphys1746
19. Zhu ZQ, Liu CJ, Wu JL, Xu J, Liu B. The Influence of Human Heterogeneity to Information Spreading. J Stat Phys. 2014 Mar; 154(6):1569–1577. doi: 10.1007/s10955-014-0924-z
20. Beutel A, Prakash BA, Rosenfeld R, Faloutsos C. Interacting Viruses in Networks: Can Both Survive?. Acm Sigkdd International Conference on Knowledge Discovery and Data Mining. 2012 Aug; 29:426–434.
21. Guimerà R, Danon L, Guilera D, Giralt F, Arenas A. Self-similar community structure in a network of human interactions. Phys Rev E. 2003 Dec; 68:065103. doi: 10.1103/PhysRevE.68.065103
22. Zhu ZQ. A novel method of generating tunable network topologies for social simulation. J Stat Mech-Theory E. 2018 Jul; 7:073410. doi: 10.1088/1742-5468/aace2f
23. Viswanath B, Mislove A, Cha M, Gummadi KP. On the evolution of user interactions in facebook. Proceedings of the Acm Workshop on Online Social Networks. 2009 Aug; 39:37–42.
24. Blondel VD, Guillaume J, Lambiotte R, Lefebvre E. Fast unfolding of communities in large networks. J Stat Mech-Theory E. 2008 Oct; 2008:P10008. doi: 10.1088/1742-5468/2008/10/P10008
25. Carmi S, Havlin S, Kirkpatrick S, Shavitt Y, Shir E. A model of Internet topology using K-shell decomposition. Proc Natl Acad Sci. 2007 Jul; 104(27):11150–11154. doi: 10.1073/pnas.0701175104 17586683
Článok vyšiel v časopise
PLOS One
2019 Číslo 12
- Metamizol jako analgetikum první volby: kdy, pro koho, jak a proč?
- Nejasný stín na plicích – kazuistika
- Masturbační chování žen v ČR − dotazníková studie
- Těžké menstruační krvácení může značit poruchu krevní srážlivosti. Jaký management vyšetření a léčby je v takovém případě vhodný?
- Fixní kombinace paracetamol/kodein nabízí synergické analgetické účinky
Najčítanejšie v tomto čísle
- Methylsulfonylmethane increases osteogenesis and regulates the mineralization of the matrix by transglutaminase 2 in SHED cells
- Oregano powder reduces Streptococcus and increases SCFA concentration in a mixed bacterial culture assay
- The characteristic of patulous eustachian tube patients diagnosed by the JOS diagnostic criteria
- Parametric CAD modeling for open source scientific hardware: Comparing OpenSCAD and FreeCAD Python scripts