Initial Research - haydin505/SWE-573 GitHub Wiki
Git
Git is an open source version control system. We can track all the changes made in a very detailed fashion. We can create a new branch (a copy of main branch) for specific work and manage all related changes in this specific branch and after development completed we can merge current branch with the main branch. Also, we can map a certain change made to a person. This way we can identify that who done specific part of a specific work.
Git is used by all companies from very small to enormously big. Git is a de facto standard for developing software. Hence, all developers must learn it with best practices in order to complete healthy life cycle of a software development project.
Github
As we described above, version management of a project properly done with Git. Let us describe how to can distribute and manage version control of a project.
We use GitHub to distribute and manage newer versions of a project to every developer that working on the same project. Before GitHub or any other cloud-based repository management solution, companies were storing their repositories ( software projects) on their servers. Then they migrated to cloud-based solutions because of the GUI and management capabilities of cloud-based solutions. We can assign developers to a specific task, and then they can create pull requests (merge requests) to apply their changes, after that, other developers can review the code written and demand new changes or approve changes. Also, we can manage life cycles of a project, we can publish releases, start deployment or start automated tests on GitHub. On top of that we can connect GitHub to various kind of other software products such as Jira (Issue Tracker) or Slack (Communication Tool). This way we can wire project development tools each other. For example, we can link Jira issues to Git branch and notify new changes on Slack channels.
Wikidata
Wikidata is a community-driven knowledge graph run by the Wikimedia Foundation. Foundation of Wikipedia and Wikidata are similar, and they often feed each other. However, their structure is really different. Wikipedia is an encyclopedia which is human-readable (longer texts). On the other hand, Wikidata is a property value linked data graph which is more machine-readable.
Wikidata has a unique capabilities like its own query language (SPARQL), immediate language translation, unique object linked data structure. All data of Wikidata related to each other. Therefore, we can easily categorize complex research subjects. For example, let say we would like to know all female mayors around the world. We can simply tie gender and occupation objects together and generate results.
Data structure of Wikidata makes it possible to generate language translation too. We can define common grammar rules, connectives for each language and generate sentences with the related objects. This way we can publish an object to everybody without language restrictions.
Furthermore, all edits and creations open to public, that means everybody can create or edit a Wikidata object. This openness does not guarantee that the source of the data is trustworthy. However, since all references linked to the objects, users can distinguish trusted authorities by themselves by approving references.
As a result Wikidata is tremendously large linked object graph. We can easily define criteria with plain English and query the database. This way we can obtain data with related objects, so that we can research objectively and deeply without spending too much time.